我正在使用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", views: { 'main': { templateUrl: '/tmpl/contacts/asdf', controller: function () { console.log('this在这里不起作用') } } } });
这是 $location 的控制台日志。如您所见,$location 仅将 url 的最后一部分识别为路径。据我所知,这是错误的。它缺少前面的“联系人”。任何 url 都被解释为只有 url 的 1 部分并发送到board
state。我该如何解决。谢谢。
编辑:发现这是由角度 1.1.5 引起的。恢复到 1.1.4 没有这个。