Comment puis-je mettre à jour $ stateParams sans recharger l'ui-view? routeur angulaire d'interface utilisateur
Obtenir le contexte, angulaire, l'interface utilisateur du routeur, rien de spécial, une vue de la racine construit avec 3 nommé ui-vues.
ainsi, dans index.html
nous avons
<body>
<div ui-view='left'>
<div ui-view='center'>
<div ui-view='right'>
</body>
mon parcours ressemble à
$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@': .. }
});
Est-il un moyen en va b de l'état pour mettre à jour le $stateParams dans le 'centre' et 'gauche'?? Je peux l'obtenir à l'aide d'un service, mais j'ai besoin d'ajouter un $watch
à la variable dont j'ai besoin et il a l'air un peu hacky pour moi.
Aller dans c état que je peux réellement obtenir ce que je veux, mais la vue est rechargé, et je voudrais éviter ce comportement, car j'ai une toile de dans la gauche de la vue.
source d'informationauteur user2131283
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser les éléments suivants pour aller à un itinéraire spécifique sans avoir à recharger les points de vue:
La dernière littéral d'objet représente les options que vous pouvez transmettre à
go
. Si vous définisseznotify
àfalse
ce sera effectivement empêcher les contrôleurs d'être réinitialisé. Le.
au début est la valeur absolue de nom de l'état ou de l'état relatif chemin que vous voulez aller.La chose la plus importante est la
notify
.Citant @christopherthielen de https://github.com/angular-ui/ui-router/issues/1758#issuecomment-205060258:
Pour une démo, jetez un oeil à cette plunker: http://plnkr.co/edit/T2scUAq0ljnZhPqkIshB?p=preview
Je pense que l'utilisation de "Dynamique params" est maintenant une meilleure solution:
et puis:
https://ui-router.github.io/ng1/docs/latest/interfaces/params.paramdeclaration.html#dynamic
https://github.com/angular-ui/ui-router/issues/2709