javascript - Warum sind in .run() von app.js in Ionic globale Variablen definiert, auf die im Controller der Seite zugegriffen werden kann, nach der Aktualisierung jedoch nicht mehr?
怪我咯
怪我咯 2017-06-12 09:22:30
0
1
740

Verwenden Sie $rootScope.obj1 = {}, um globale Variablen in der Funktion .run() von app.js vorzudefinieren. Wenn Sie das Programm zum ersten Mal starten, können Sie in der Funktion .controller() von auf $rootScope.obj1 zugreifen die Seite von. Nach dem Aktualisieren der Seite im Browser wird jedoch $rootScope.obj1, auf das in der .controller()-Funktion der Seite zugegriffen wird, undefiniert.

Zuerst dachte ich, dass die .run()-Funktion von app.js beim Aktualisieren nicht ausgeführt wurde, aber nach dem Testen wurde festgestellt, dass sie ausgeführt wurde. Die Ausführungsreihenfolge beim Aktualisieren scheint jedoch zu sein: Führen Sie zuerst die Funktion .controller() der Seite aus, führen Sie dann die Funktion .config() in app.js aus und führen Sie dann die Funktion .run() in app.js aus. Es ist anders als beim ersten Start des Programms. Aufgrund dieser Reihenfolgebeziehung kann nach dem Aktualisieren der Seite nicht auf die vordefinierten globalen Variablen in der Funktion .controller() der Seite zugegriffen werden.

Entschuldigung, ist das tatsächlich der Fall? Wenn ja, wie lässt sich dieses Problem lösen? Wo sollen die vordefinierten globalen Variablen platziert werden?

怪我咯
怪我咯

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

Antworte allen(1)
左手右手慢动作

angular.js的执行顺序大概如下:

  1. app.config()

  2. app.run()

  3. 指令编译

  4. app.controller()

  5. 指令link

很难进行你的问题判断,我猜想可能是不是因为你.js加载顺序问题呢。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage