【发布时间】:2020-03-13 19:38:57
【问题描述】:
获取上下文,角度,ui-router,没什么特别的,一个根视图,用 3 个命名的 ui-views 构建。
所以在index.html 我们有
<body>
<div ui-view='left'>
<div ui-view='center'>
<div ui-view='right'>
</body>
我的路线看起来像
$stateProvider
.state('main', {
url: '/',
views: {
'left': {templateUrl: 'foo.html'},
'center': {templateUrl: 'bar.html'},
'right': {templateUrl: 'xyz.html'}
}
})
.state('main.b', {
url: '/b',
params: { foo: {value: 'bar'} }
views: { 'right@': {templateUrl: '123.html'} } // I wish to update $stateParams in 'left@' view
})
.state('main.c', {
url: '/c',
params: ...
views: { 'left@': ..., 'center@': ..., 'right@': .. }
});
有没有办法进入 b 状态来更新 'center' 和 'left' 视图中的 $stateParams?我可以使用服务获取它,但我需要将$watch 添加到我需要的变量中,这对我来说看起来有点老套。
进入 c 状态我实际上可以得到我想要的,但是视图被重新加载,我希望避免这种行为,因为我在“左”视图中有一个画布。
【问题讨论】:
标签: angularjs angular-ui-router