如何在ui-router模块的$ stateProvider中设置url路由,并在这样的层次结构中使用url params
/home
/:username
/:title/editor
如果在同一层次结构级别上没有冲突,我只能使用它,如:
/home
/user/:username
/editor/:title
现在,如果我尝试像第一个示例中那样设置它,那么所有内容都会路由到/home
。
我从Google Appengine等其他情况中了解到这一点,其中第一种方法也会起作用,并且它将被视为一种层次结构,/:username
路由将适用,只要它不等于&# 39;家用'
感谢您的帮助!
答案 0 :(得分:0)
我想说这应该是可能的,例如这可行(见example):
$stateProvider
.state('home', {
url: '/home',
templateUrl: 'test.html',
controller: 'TestCtrl',
})
.state('editor', {
url: '/:title/editor',
...
})
.state('user', {
url: '/:userName',
...
观察它here。之所以如此,是因为状态编辑器 - 强键 /editor
会在userName
之前进行评估。同样适用于家庭 - 这是第一个评估模式。
但是 - 我建议,不要指望秩序。在开头使用这些鉴别器(例如/ user / ...或/ editor / ..)。我们的用户也会理解它,以及任何后来的混乱(为什么这个网址触发了这个状态)不会让我们感到惊讶