recherche

Maison  >  Questions et réponses  >  le corps du texte

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 ?

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 ?

怪我咯怪我咯2760 Il y a quelques jours752

répondre à tous(1)je répondrai

  • ringa_lee

    ringa_lee2017-06-12 09:24:30

    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.

    répondre
    0
  • Annulerrépondre