我使用Angular UI-router进行导航,并将参数从视图传递到视图,但我无法弄清楚为什么在我的代码中传递第三个参数失败。 下面的简化代码适用于两个参数,但是只要我添加第三个参数,导航就会失败:当我点击链接时,没有任何反应 - 没有错误,当我拿出第三个参数时 - 一切正常。任何帮助表示赞赏。
.state('page.details', {
url: '^/child-page/{id1:int}/{name}',
views: {
'@': {
templateUrl: '/child-page.html',
controller: 'ChildCtrl'
}
}
})
<a href="#" ui-sref="page.details({id1:5, name:somename})">
现在,当我添加第三个参数时,导航失败:
url: '^/child-page/{id0:int}/{id1:int}/{name}'
<a href="#" ui-sref="page.details({id0:3, id1:5, name:somename})">
修改 事实证明问题是语法错误,但不是由第三个参数本身引起的。在实际工作代码中,HTML中URL的一侧有一个遗留引号,误导了UI路由器。路由器假设提供的URL有效并且正在尝试加载资源。然后找不到它,而是加载默认视图。取出引号后,第三个参数开始显示在子视图中。感谢您寻求帮助。
答案 0 :(得分:1)
像这样的东西怎么样:
url: '^/child-page/:id0/:id1/:name'