这是我用于我的ui-router的配置:
.state('parent', {
url: '/child1'
controller: ParentController,
abstract: true
})
.state('parent.child1', {
url: ''
})
.state('parent.child2', {
url: '/child2'
})
我想要一个我想要默认的/ child1网址,所以我将父网址设为抽象,子状态网址为'空白'。
所以我希望当用户访问child2状态时,父url会被替换而不是附加它。我怎样才能实现这一目标?
答案 0 :(得分:5)
如果我理解你,(如果我错了,请纠正我)你正在设置路由服务以实现以下路线:
/
,/child1
和/child2
,您希望所有州都与ParentController
绑定
如果这是正确的,您可以通过以下方式实现此目的:
.state('parent', {
url: '/',
controller: ParentController,
})
.state('parent.child1', {
url: '^/child1'
})
.state('parent.child2', {
url: '^/child2'
})
例如,如果我们运行https://localhost:3000
,我们可以这样导航:
parent
或/
会给我们https://localhost:3000/
parent.child1
或/child1
会给我们https://localhost:3000/child1
parent.child2
或/child2
会给我们https://localhost:3000/child2
所有州都会调用ParentController。