javascript - Pourquoi des variables globales sont-elles définies dans .run() de app.js dans Ionic, accessibles dans le contrôleur de page, mais inaccessibles après l'actualisation ?
怪我咯
怪我咯 2017-06-12 09:22:30
0
1
735

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 ?

怪我咯
怪我咯

走同样的路,发现不同的人生

répondre à tous(1)
左手右手慢动作

La séquence d'exécution d'angular.js est à peu près la suivante :

  1. app.config()

  2. app.run()

  3. Instructions pour compiler

  4. app.controller()

  5. 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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal