Angular UI路由器:自动重定向到父状态的子状态
问题描述:
我想知道是否有方法使用UI-Router自动重定向到父状态的子状态。Angular UI路由器:自动重定向到父状态的子状态
例如:
.state('parent', {
url: '/parent',
template: '<parent></parent>',
redirectTo: 'parent.child'
})
.state('parent.child', {
url: '/child',
template: '<child></child>'
})
.state('parent.child-two', {
url: '/child-two',
template: '<child-two></child-two>'
})
参观parent
状态总是将您重定向到parent.child
状态。我想避免显式定义这样的redirectTo
属性:
.state('parent', {
url: '/parent',
template: '<parent></parent>',
redirectTo: 'parent.child'
})
,而是有某种通配符,像这样:
.state('parent', {
url: '/parent',
template: '<parent></parent>',
redirectTo: 'parent.**'
})
任何帮助表示赞赏。提前致谢。
答
它可能不是实现这一目标的正确方法,但你可以在你的父控制器补充一点:
$state.go($state.get().filter(function(cState) { return cState.name.indexOf('parent.') === 0 })[0])
- 您检索所有国家
$state.get()
- 那么你过滤restult只得到与
parent.
在其名称的开头,并采取第一个与[0]
- 和你去这个国家与
$state.go()
为什么'redirectTo:'parent.child''不是一个好的解决方案? – JeanJacques
因为我可能有不止一个孩子,我只想让它重定向到第一个孩子。 – realph