javascript - Ionic の app.js の .run() でグローバル変数が定義されているのはなぜですか。ページのコントローラーではアクセスできますが、更新後にはアクセスできません。
怪我咯
怪我咯 2017-06-12 09:22:30
0
1
721

$rootScope.obj1 = {} を使用して、app.js の .run() 関数でグローバル変数を事前定義します。プログラムを初めて起動するときは、app.js の .controller() 関数で $rootScope にアクセスできます。ページ。.obj1 の。ただし、ブラウザでページを更新すると、ページの .controller() 関数でアクセスされる $rootScope.obj1 が未定義になります。

app.js の .run() 関数が更新時に実行されていないのかと最初は思っていましたが、テストしてみると実行されていることが分かりました。ただし、更新時の実行順序は、最初にページの .controller() 関数を実行し、次に app.js の .config() 関数を実行し、次に app.js の .run() 関数を実行するようです。最初にプログラムを開始したときとは異なります。この順序関係のため、ページを更新した後は、ページの .controller() 関数で事前定義されたグローバル変数にアクセスできません。

すみません、本当にそうですか?もしそうなら、この問題をどのように解決すればよいでしょうか?事前定義されたグローバル変数はどこに配置する必要がありますか?

怪我咯
怪我咯

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

全員に返信(1)
左手右手慢动作

angular.jsの実行シーケンスは大まかに以下の通りです:

  1. app.config()

  2. app.run()

  3. コンパイル手順

  4. app.controller()

  5. コマンドリンク

問題を判断するのは難しいですが、おそらく .js の読み込み順序が原因だと思います。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート