Préserver l'état Angulaire de l'INTERFACE utilisateur du Routeur
J'ai une application avec une ng-view qui envoie des mails à des contacts sélectionnés à partir d'une liste de contacts.
Lorsque l'utilisateur sélectionne "Destinataire", il montre un autre point de vue/page où il est possible de rechercher, filtrer, etc. "Envoyer un courriel" et "liste de Contacts" sont différents html partiels qui sont chargés dans le ng-view.
J'ai besoin de garder le formulaire d'envoi état, de sorte que lorsque l'utilisateur sélectionne une personne de la Liste de Contacts, il retourne au même point (et même de l'état). J'ai lu sur les différentes solutions ($rootScope, caché divs à l'aide de ng-show, ...), mais je veux savoir si UI-router va m'aider, c'est avec Gestionnaire d'État. Si non, existe-il d'autres prêts-à-utiliser des solutions?
Merci!
- double possible de AngularJS - l'enregistrement des données entre les routes
Vous devez vous connecter pour publier un commentaire.
La solution je suis allé avec l'aide des services comme mes données/modèle de stockage. ils persistent à travers le contrôleur de changements.
exemple
l'utilisateur du service ( notre modèle qui persiste à travers le contrôleur de modifications )
de l'utiliser dans un contrôleur
l'autre avantage, c'est que vous pouvez réutiliser votre modèle dans d'autres contrôleurs tout aussi facilement.
Je ne sais pas si c'est recommandé ou pas, mais j'ai créé un StateService d'enregistrer/charger les propriétés de mon contrôleurs étendues. Il ressemble à ceci:
Pour l'utiliser, j'ai mis un peu de code à la fin de mon contrôleur comme ceci:
J'ai trouvé Angulaires-Multi-Vues une véritable aubaine pour ce scénario. Il vous permet de conserver un état dans un avis, tandis que d'autres points de vue sont de la manipulation de la route. Il vous permet également de plusieurs points de vue à la route.
Vous pouvez le faire avec l'INTERFACE utilisateur du Routeur, mais vous aurez besoin pour imbriquer les points de vue qui, à mon humble avis peut devenir laid.