Utilisation de mean.js:Routeur angulaire - Utilisation de l'état abstrait pour accéder au service
J'ai une grande application divisée par, par exemple, offices. Chaque bureau accède à la même application de la même manière, mais les employés d'un bureau peuvent uniquement accéder aux informations relatives à ce bureau. Les administrateurs de la société peuvent accéder à l'application intégralement, en basculant d'un contexte de bureau à l'autre. La mise en garde est qu'il n'y a aucun compte d'utilisateur (aucun login/auth) pour des employés de bureau, seulement des comptes d'admin pour les administrateurs.
J'explore le faire de la manière suivante:
J'ai créé un module d'accès à un service qui stocke le contexte de bureau, en passant au back-end lors des appels API. Ceci est défini au démarrage de l'application à partir des fichiers de configuration.
Ceci est bien beau, mais je dois permettre aux administrateurs de changer de contextes de bureau. J'utilise un lien <a ui-sref="Context({ officeID: 'x' })
(dans le menu déroulant navbar, donc accessible à partir chaque État) pour accéder au routeur angulaire:
.state('Context', {
url: '/Context/:officeID',
controller: 'ContextController',
controllerAs: 'vm'
});
Cela passe le OfficeID au ContextController
, qui fixerait la variable ContextService.officeID
. À ce moment, je crois que je ferais un appel api à partir du ContextController
pour actualiser les données de l'état actuel pour refléter le contexte actuel. Je ne sais pas comment faire ça.
je sens que j'ai quelques options ici, que je ne suis pas sûr comment mettre en œuvre:
- Je peux faire l'état
Context
abstrait, et tout autre état d'un enfant, mais qui semble encombrant. Si c'est correct, comment puis-je dire à l'état actuel de rafraîchir ses données? - je pourrais entrer dans l'état
Context
, réglez leContextService.officeID
, et rediriger immédiatement à l'état précédent, qui à l'entrée, devrait faire un appel à l'aide api le nouveau contexte. Si c'est correct, comment puis-je correctement effectuer cette redirection?
Je pourrais laisser tomber comment cela se fait entièrement, mais je ne sais pas par où commencer. Tout conseil est le bienvenu.
La question est de savoir comment réagir à un changement d'itinéraire? – Yiou