Maintenant, le programme peut s'exécuter, mais il faut parfois l'actualiser plusieurs fois pour bien faire les choses. Si vous n'avez pas de chance, il apparaîtra lors du chargement
.TypeError: $rootScope.gotoPGoals is not a function
et autres messages d'erreur. On suppose qu'il existe une concurrence entre la vitesse de chargement de la portée racine et la portée actuelle. Si la portée racine ne peut pas rattraper l'achèvement du chargement, l'appel échouera.
Vous vous demandez comment résoudre ce problème ?
Ne peut pas être écrit dans app.run(), car des fonctions telles que $scope.gotoPGoals() sont définies dans le contrôleur de la directive et exploitent l'élément $ de la directive.
Parce que la directive et la supérieure (c'est-à-dire ngView) partagent la même portée, elle est appelée avec $rootScope...
Pourquoi ne pas écrire rootScope dans run ?