是否可以在ui-router状态url中使用多个参数?
请注意以下示例中的id
和game_id
.state('games', {
url: 'users/{id}/games/{game_id}',
templateUrl: 'games/_game.html',
controller: 'GameCtrl'
})
当我尝试导航到类似app.io/users/1/games/2
的网址时,它会自动重定向到页面之外,所以我想知道它是否不可能?
答案 0 :(得分:1)
要在angular-ui-router中指定网址参数,您需要使用:param
而不是{param}
。
.state('games', {
url: 'users/:id/games/:game_id',
templateUrl: 'games/_game.html',
controller: 'GameCtrl'
})
有关更多示例,请参阅其文档。
答案 1 :(得分:1)
回答我自己的问题 - 是的,可能。 我的错误是使用了错误的语法。
我这样做了
.state('games', {
url: 'users/{id}/games/{game_id}',
templateUrl: 'games/_game.html',
controller: 'GameCtrl'
})
但应该这样做
.state('games', {
url: '/users/{id}/games/{game_id}',
templateUrl: 'games/_game.html',
controller: 'GameCtrl'
})
请注意传递给/
的字符串开头的url:
。需要/
才能使其正常工作。