ui-router是否可以使用这种类型的路由?
父母州---> /存储/:ID 儿童状态---> /保存/:ID /吃
Bellow是我的代码段。为什么我尝试这样做,页面被重定向到路由。
.state('frouits.banana.saved', {
url: '/saved/:id',
views: {
parameters: {
templateUrl: 'banana.html'
}
}
})state('frouits.banana.saved.eat', {
url: '/saved/:id/eat',
views: {
parameters: {
templateUrl: 'banana.html'
}
}
})
答案 0 :(得分:2)
默认情况下,会附加UI-Router中的嵌套路由。由于frouits.banana.saved.eat
是frouits.banana.saved
的嵌套视图,因此会继承其网址,这意味着您的路由已解析为/saved/:id/saved/:id/eat
因此,您需要做的就是从第二条路线的网址中删除/saved/:id
部分。
.state('frouits.banana.saved.eat', {
url: '/eat', // <--
views: {
parameters: {
templateUrl: 'banana.html'
}
}
});
您可以使初始示例工作的另一种方法是通过在路线(url: '^/saved/:id/eat'
)之前添加插入符号来声明您的路线为绝对路径。
有关嵌套路由如何工作的更多信息,请refer to the docs。