我正在研究我的角度应用程序的路由,但我似乎无法找到以下内容:
example.com/#parameter
在这个网址中,#parameter应保留#parameter并获取param数据.现在它删除了#并转到example.com/parameter
如果我转到example.com/#parameter,它应该像我去example.com/parameter时那样做
我的app.js中有以下内容
url: "/:bandName"
并使用$stateParams将此数据发送到我的控制器
有没有办法在网址中保留主题标签?
– 编辑
所以这里有一些代码用于输入/#参数
$urlRouterProvider.when(':#bandName', '/:bandName')
.otherwise('/');
$stateProvider.state('appband', {
url: "/:bandName",
templateUrl: "main.php",
controller: 'mainController'
})
$locationProvider.html5Mode(true);
有了这个,如果我去example.com/#randomBandName,我被重定向到example.com/randomBandName,我得到randomBandName作为我的控制器中的参数
所以我需要的是输入example.com/#randomBandName保持example.com/#randomBandName并且我仍然在我的控制器中获得randomBandName.
但是当我删除$urlRouterProvider.when(‘:#bandName’,’/:bandName’)时,我只得到一个空页面.
最佳答案 有一些事情看起来很可疑:
尾随斜线
您是否在为网址使用HTML5模式?我建议使用这个URL设置url:“/ parameter”如果你确实认为param更像是一个资源.
您可能还会阅读此内容 – https://github.com/angular-ui/ui-router/wiki/Frequently-Asked-Questions#how-to-make-a-trailing-slash-optional-for-all-routes
查询参数
如果您打算将param作为查询参数,那么您需要这个..
url:“/?参数”
更多关于这里 – https://github.com/angular-ui/ui-router/wiki/URL-Routing#query-parameters