我希望为以下示例提供可选的网址段:
url: "/post/:category/:subcategory/:title/{id:int}",
在上面的示例中,子类别是可选的。例如,它将接受:
url: "/post/sports/football/some-title/10",
它也会接受:
url: "/post/sports/some-title/15",
没有子类别。我可以使用分离状态来做到这一点但是有什么规则吗? 请注意,只有子类别段是可选的。其他是强制性的。
答案 0 :(得分:4)
.state('post', {
url: '/post/:category/:subcategory/:title/:{id:int}',
templateUrl: 'views/post.html',
controller: 'postCtrl',
params: {
subcategory: { squash: true, value: null },
}
})
了解更多信息read the doc
答案 1 :(得分:2)
此处详细描述了解决方案
以下是我们如何定义这样的参数:
.state('state', {
url: '/:category/{subcategory:(?:football|tennis|hokey)}/:title/:id',
abstract: true,
template: '<div ui-view=""></div>',
params: {subcategory : { squash : true, value: 'football' }}
})