English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
一.起動段階
ブラウザがHTMLページを解析し、angular.jsの<script>タグを読み取った後、DOMの解析を停止し、angular.jsを実行します。その間、AngularはDOMContentLoadedイベントを監視するイベントリスナーを設定し、Angularがこのイベントを検出すると、Angularが起動します。
二.初期化段階
Angularが起動すると、ngを検索します。-appコマンドを実行し、必要なコンポーネント($injector、$compileサービスおよび$rootScope)を初期化します。その後、DOMの解析を続けます。
3. コンパイル、リンク段階
1Angularは$compileサービスを使用してDOMツリーを遍历し、インストラクションを持つDOM要素を検索し、それらのインストラクションを優先順位に基づいてソートします。
2その後、$injectorサービスを使用して、各インストラクションの下のcompile関数を検索および収集し、それを実行します。
3各ノードのcompileメソッドが実行された後、$compileサービスがリンク関数を呼び出し、閉じたスコープにバインドされたインストラクションに監視を設定します。この行動はリアルタイムビューを作成します。
4すべての作業が完了した後、Angularの起動が完了します。
4. 実行段階
Angularは独自のイベントループを提供しています。インストラクション自身がイベントリスナーを登録するため、イベントがトリガーされたとき、インストラクション関数はAngularJSの$digestループで実行されます。$digestループは$watch表現リストを待ち、モデルの変更が検出された場合、$watch関数を呼び出し、$watchリストを再確認してモデルが変更されていないことを確認します。$digestループが安定し、潜在的な変更が検出されない場合、実行プロセスはAngularコンテキストから離れ、通常はブラウザに戻ります。
これで本稿のすべての内容が終わりです。本稿の内容が皆様の学習や仕事に役立つことを願っています。また、呐喊教程!を多くのサポートをお願いします。
声明:本稿の内容はインターネットから収集され、著作権者による所有物です。インターネットユーザーが自発的に貢献し、自己でアップロードしました。本サイトは所有権を持ちません。人工編集は行われていません。また、関連する法的責任を負いません。著作権侵害が疑われる内容がある場合は、以下のメールアドレスにご連絡ください:notice#oldtoolbag.com(メールを送信する際には、#を@に変更してください)で通報し、関連する証拠を提供してください。一旦確認がとりまとまり、侵害された内容が見つかった場合、本サイトはすぐにその内容を削除します。