Comment enregistrer une fonction sur $ rootScope sur angularjs ready
J'ai besoin d'enregistrer une méthode disponible partout dans angularjs. Cette méthode a 2 arguments (l'id de la ressource, le rappel sur la suppression de réussite) et il utilise le fournisseur de ressources pour réellement supprimer l'élément.
Puis de l'enregistrer, j'ai besoin que angularjs injecte moi le $rootScope
et MyResourceProvider
. Ma première idée était de faire cela dans ma page d'accueil contrôleur:
var HomeCtrl = function ($rootScope, MyResourceProvider) { $rootScope.confirmAndDeletePackage = function (sId, fCallback) { //faire des trucs MyResourceProvider.supprimer({id: sId}, fCallback); } }
C'est ici que commence réellement mon problème. Qui fonctionne très bien dans un régulier de navigation (accueil -> liste -> select> supprimer), mais si l'utilisateur accède directement à une page où le bouton supprimer est disponible w/o en passant par la page d'accueil, cette méthode ne sera pas disponible (parce que le contrôleur HomeController n'a pas été initialisé)...
Donc, ma question est où puis-je déplacer ce morceau de code pour s'assurer qu'il sera toujours exécutée à la demande de bootstrap.
J'ai essayé sur myApp.config()
mais sans succès...
Une idée?
source d'informationauteur poussma
Vous devez vous connecter pour publier un commentaire.
@Ganaraj mentionné dans les commentaires, un service est probablement un meilleur choix pour cela.
Cependant, pour répondre à votre question, vous pouvez utiliser le exécuter() méthode.
run() est appelée après que tous les modules ont été chargés.