Получите контекст, angular, ui-router, ничего особенного, корневой вид, построенный с использованием трех названий 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: { '[email protected]': {templateUrl: '123.html'} } // I wish to update $stateParams in '[email protected]' view
})
.state('main.c', {
url: '/c',
params: ...
views: { '[email protected]': ..., '[email protected]': ..., '[email protected]': .. }
});
Есть ли способ перейти в состояние b для обновления $stateParams в режиме "center" и "left"? Я могу получить его с помощью службы, но мне нужно добавить $watch
в переменную, которая мне нужна, и она выглядит немного взломанной для меня.
Переходя в состояние c, я могу получить то, что хочу, но представление перезагружается, и я хочу избежать этого поведения, потому что у меня есть холст в "левом" представлении.