Utilisez $rootScope.obj1 = {} pour prédéfinir des variables globales dans la fonction .run() de app.js Lorsque vous démarrez le programme pour la première fois, vous pouvez accéder à $rootScope.obj1 dans la fonction .controller() de. la page de. Cependant, après avoir actualisé la page sur le navigateur, $rootScope.obj1 accédé dans la fonction .controller() de la page devient indéfini.
Au début, je pensais que la fonction .run() de app.js n'était pas exécutée lors de l'actualisation, mais après tests, il a été constaté qu'elle était exécutée. Mais l'ordre d'exécution lors de l'actualisation semble être le suivant : exécutez d'abord la fonction .controller() de la page, puis exécutez la fonction .config() dans app.js, puis exécutez la fonction .run() dans app.js. C'est différent de lorsque vous avez démarré le programme pour la première fois. En raison de cette relation de séquence, après avoir actualisé la page, les variables globales prédéfinies ne sont pas accessibles dans la fonction .controller() de la page.
Excusez-moi, est-ce effectivement le cas ? Si oui, comment résoudre ce problème ? Où placer les variables globales prédéfinies ?
La séquence d'exécution d'angular.js est à peu près la suivante :
app.config()
app.run()
Instructions pour compiler
app.controller()
Lien de commande
Il est difficile de juger votre problème. Je suppose que cela peut être dû à l'ordre de chargement de votre .js.