12
votes

Comment exécuter une fonction dans chaque page en angularjs

J'ai créé une fonction qui valide si un cookie existe et je souhaite exécuter cette fonction dans chaque page en utilisant Angularjs. Je n'arrive tout simplement pas à faire fonctionner la fonction. Dois-je mettre le module sur un nouveau contrôleur?

C'est jusqu'où j'ai atteint: xxx


0 commentaires

4 Réponses :


1
votes

Peut-être que vous pourrez peut-être égaler les événements d'itinéraire (Pitechangesteart) pour tester cela avant que la route change? Si le test échoue, rediriger.

http://docs.angularjs.org/api/ng . $ Route

Discussion sur l'annulation d'un changement d'itinéraire: https://groups.google.com/forum/?fromgroups== #! Sujet / Angulaire / -YPBLMJQO_Q


0 commentaires

1
votes

Je créerais un service que vous voudriez injecter dans vos contrôleurs. Le site angulaire a un bon exemple de comment faire cela: Création de services . Normalement, si vous souhaitez utiliser une logique dans de nombreux endroits, la création d'un service est le moyen de le faire.


1 commentaires

La partie suivante du Guide DEV consiste à injecter un service dans un contrôleur docs.angularjs.org / Guide / ... . Ce serait bien de lire aussi



37
votes

Je pense qu'il y aurait quelques façons de résoudre ce problème. Si vous souhaitez que cette validation se produise chaque fois que vous modifiez des itinéraires (ce qui signifie qu'il fonctionnera lorsque l'application démarre d'abord ainsi que sur chaque page que vous allez à l'application), vous pouvez faire quelque chose comme ceci:

.run(function($rootScope, validateCookie) {
    validateCookie($rootScope);
})


0 commentaires

1
votes

J'éditionnerais en combinant la propriété Route> Propriété et en utilisant Services . Vue d'ensemble Vidéo

http://www.youtube.com/watch?v=kr1qz8ik9g8 < / p> Détails de l'API

http://docs.angularjs.org/api/ng . $ RouteProvider


0 commentaires