変更検出に関する多くの記事を読みましたが、それがどのように機能し、ビューをレンダリングするのか明確に理解できませんでした。反応のように、dom パッチを作成することによって変更された UI の一部のみをレンダリングする仮想 dom および diff アルゴリズムがあります。
変更検出は、ビューでレンダリング/置換される変更をどのように決定しますか?
変更検出に関する多くの記事を読みましたが、それがどのように機能し、ビューをレンダリングするのか明確に理解できませんでした。反応のように、dom パッチを作成することによって変更された UI の一部のみをレンダリングする仮想 dom および diff アルゴリズムがあります。
変更検出は、ビューでレンダリング/置換される変更をどのように決定しますか?
各コンポーネントには、Angular が実行時に作成する変更検出オブジェクトが関連付けられています。変更検出オブジェクトは、すべてのテンプレート バインディングを追跡します。変更検出が実行されると、デフォルトでは、各変更検出オブジェクトの各テンプレート バインディングがダーティ チェックされます。つまり、以前の値と現在の値が比較されます。変更が検出されると、新しい値が DOM に伝達されます。したがって、変更が 1 つだけの場合、DOM の 1 つの部分だけが更新されます。変更が見つかった場合、ビュー全体は再レンダリングされません...変更された部分のみが影響を受けます。