UI-Router具有动态状态参数的概念,可以更新并且不会触发状态更改。我想知道是否有人知道如何将参数指定为仅一个特定子状态的动态参数。以前在ui-router v0.x中,您可以使用reloadOnSearch状态选项完成此操作。
所以例如
state('parentState', {
abstract: true,
url: '?{filter}',
component: 'parentView',
})
.state('parentState.childOne', {
abstract: false,
url: '/childOne',
views: {
embeddedView: {
component: 'childOne'
}
}
})
.state('parentState.childTwo', {
abstract: false,
url: '/childOne',
views: {
embeddedView: {
component: 'childTwo'
}
}
})
我希望'filter'对于childTwo是动态的,而对于childOne则是非动态的。
我试图做这样的事情,但似乎没有用。
.state('parentState.childTwo', {
abstract: false,
url: '/childOne',
params: {
filter: {
dynamic: true,
}
}
views: {
embeddedView: {
component: 'childTwo'
}
}
})
答案 0 :(得分:0)
我通过覆盖完整的参数定义来解决这个问题。
因此,如果过滤器参数在parentState
:
params: {
filter: {
dynamic: false
}
}
你应该像在childTwo
中一样动态地定义它。
在你的例子中它不起作用的原因很可能是你最初没有在parentState
中定义参数。