今回は、Angular での一方向データ フローの使用について詳しく説明します。Angular で一方向データ フローを使用する際の 注意事項 は何ですか?実際のケースを見てみましょう。
変更検出
Angular では、データは最上位のルート ノードから最後のリーフ ノードまで一方向に流れ、一方向ツリーを形成します。 Angular は、すべての非同期操作がモデルの変更を引き起こす可能性があると考えています。データ モデルの変更を引き起こすイベント ソースは次のとおりです:angularjsと比較すると、双方向かつ無秩序なデータフローの方向により、データが安定するまで何度も変更検出が繰り返されるため、パフォーマンス上の問題が発生したり、データとviewが不整合な状態になる可能性がありますつまり、レンダリング プロセスが完了します。結果として得られるビューは、データの実際の状態を反映していません。
出力のレンダリング
データモデルの変更が検出され、コンポーネントを再レンダリングする必要がある場合、Angular はコンポーネントの新しいバージョンに対応する新しい DOM データ構造を生成する DOM 生成関数 を実行します。ビューの。
Angular レンダリング プロセス中に、テンプレートexpressions が評価され、コンポーネント ツリー全体で lifecycle フックが呼び出されます。
注: 緑色のサインは複数回呼び出されます
ライフコールサイクル(緑色の有向線)から、ngAfterViewCheckedは、コンポーネントおよびサブコンポーネントビューの出力が完了したことを示します。次の例を見てください:import {Component, AfterViewChecked} from '@angular/core'; import {Course} from "./course"; @Component({ selector: 'app-root', template: ` <p class="course"> <span class="description">{{course.description}}</span> </p> `}) export class AppComponent implements AfterViewChecked { course: Course = { id: 1, description: "Angular For Beginners" }; ngAfterViewChecked() { this.course.description += Math.random(); } }
これは、データ モデルからビューまでのプロセスが一方向であり、ビューの後にデータ フローを変更できないことを意味します。
概要
変更検出プロセスとレンダリング出力プロセスから、次のように要約できます。 一方向データ フローは、コンポーネント ツリーの最上部からコンポーネント ツリーの最下部までのアプリケーション データ フローを指します。レンダリングスキャン処理→レンダリング処理 処理で生成されたDOMデータ構造を出力する処理。 この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。 推奨読書: JSON を使用してサーバーにデータを送信する手順の詳細な説明
以上がAngular での一方向データ フローの使用方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。