検索

ホームページ  >  に質問  >  本文

angular.js - 正常にロードされた後に、必要な依存関係として angular を遅延実行するにはどうすればよいですか?

まずコードを見てください:

リーリー

requirejs を使用してこのモジュールを呼び出し、angularjs で定義されたモジュールを取得します。angular.module('weather-app',['ngTouch']) のモジュール定義が実行される前に、エラー メッセージ [$injector:modulerr] Failed to instantiate module weather-app due to: が報告されていることがわかります。 .. (ブレークポイントが「use strict」に設定されている場合、すでにエラーが報告されています)。

の場合、エラー メッセージ内の モジュール の名前は、html ファイルの ng-app 属性の値によって変更されることがわかりました。上記のjsモジュールコードは別の値に変更されますが、変更はありません。エラー プロンプトのスタック全体には、weather-app 1 つのリソース ファイルのみが含まれており、その他はブラウザーに付属のプラグインのファイルです。 angular.js

angular.jsはダウンロード直後に実行されたようですが、defineコールバック関数本体のモジュール定義が全く実行されていないため、htmlタグ上のangular命令のチェックを開始し、ng-を初期化しようとしました。アプリで指定した名前が文

で定義されていないことがわかりました。 angular.module('weather-app',['ngTouch']);

これは再確認です: 以前に発生した問題は同じです。

その時点で、angular と他の 2 つのカスタム モジュールがロードされ、合計 3 つの依存関係があり、その後 angular.module 定義が実行されました。
カスタム モジュールが意味のない長い文字列を人工的に挿入した後、angular.module() を定義する前に文字列がロードされるまで待機する必要があるため、angular はその前にロードし、<html> タグで ng を初期化しようとします。エラーが報告されます。

そのため、必要な解決策は、angular.js がロードされた直後に実行するのではなく、angular.module('weather-app',['ngTouch']) コマンドが実行されるまで待ってから続行することです。 -タグのアプリ。

大家讲道理大家讲道理2784日前524

全員に返信(2)返信します

  • PHP中文网

    PHP中文网2017-05-15 16:56:47

    ページにng-app="weather-app", 然后再配合使用angular.bootstrapと書かなくても大丈夫です

    返事
    0
  • ringa_lee

    ringa_lee2017-05-15 16:56:47

    http://docs.ngnice.com/api/ng/function/angular.bootstrap

    返事
    0
  • キャンセル返事