我正在使用angular ui router / stateProvider。但是,在忽略第二个正斜杠之后,我设置了我的url任何部分,它总是发送到这个状态:
$stateProvider.state('board', {
url: "/:board",
views: {
'content': {
templateUrl: '/tmpl/board',
controller: function($scope, $stateParams, $location) {
console.log('wat')
console.log($location)
}
}
}
});
只有1个正斜杠。即使我去localhost/contacts/asdf
以下状态也不会运行。
$ stateProvider.state(' test',{ url:" / contacts / asdf", 观点:{ ' main':{ templateUrl:' / tmpl / contacts / asdf', controller:function(){ console.log('这在这里不起作用') } } } });
这是$ location的控制台日志。正如您所看到的,$ location仅识别url的最后一部分作为路径。据我所知,这是错误的。它错过了"联系人"就在它之前。任何URL都被解释为只有1个部分用于URL并发送到board
状态。我该如何解决。感谢。
编辑:发现这是由角1.1.5引起的。回到1.1.4并没有这个。
答案 0 :(得分:1)
这可能是原因:https://github.com/angular/angular.js/issues/2799。尝试添加基础href。
答案 1 :(得分:0)
看起来已修复AngularJS v1.0.7。刚试过它。