ホームページ >ウェブフロントエンド >jsチュートリアル >変化検出とは何ですか? Angularの変更メカニズムについて話しましょう
変化検出とは何ですか?次の記事では、Angular の変更検出メカニズムについて説明し、ステータス変更がどのように変更検出を通知するのか、Angular の変更検出戦略について紹介します。
DOM
の更新をトリガーします。 [関連チュートリアルの推奨事項: "angular チュートリアル
"]変更検出の基本タスク: プログラムの内部 ##。この状態は、任意のオブジェクト、配列、または基本データ型にすることができます。
#2. 変更の原因イベント : ページのクリック、送信、マウス ダウン...
3. ステータス変更の変更検出を通知する方法
を受け取ります。これは、すべての Angular の 非同期イベント
をリッスンします。Angular は、基盤となるブラウザーの一部を (Zone.js
を通じて) 書き換えます。開始時の API (すべての非同期イベントを強力に傍受します)。 変更検出をトリガーするには 2 つの一般的な方法があります。1 つはコンポーネントのライフ サイクル フックに基づく方法です。
<pre class="brush:js;toolbar:false;">ngAfterViewChecked() {
console.log(&#39;cluster-master.component cd&#39;);
}</pre>
もう 1 つの方法は、変更検出の開始または終了を手動で制御することです。トリガー
constructor(private cd: ChangeDetectorRef) { cd.detach() setInterval(() => { this.cd.detectChanges() }, 5000) }3. Angular の変更検出
があります。これらの変更検出器もツリーを形成することが考えられます。 Angular では、各コンポーネントに独自の変更検出器があり、各コンポーネントに対して変更検出をいつどのように実行するかを制御できます。
4. 変更検出戦略
各
変更検出により、このコンポーネント
の変更を含むコンポーネント変更検出が行われます。参照変数の内部属性値
Onpush: いくつかの条件が満たされない限り、各変更検出はこのコンポーネントの変更チェックをスキップします
Angular のデフォルトの変更検出メカニズムは ChangeDetectionStrategy.Default です。各非同期イベント コールバックが終了した後、NgZone は
全体をトリガーします。コンポーネント ツリー トップダウン
変更検出を行う4.2
onPush<span style="font-size: 18px;"></span>OnPush 戦略は、コンポーネントの変更検出を
スキップし、その下のすべてのサブコンポーネント をスキップするために使用されます。
実際、OnPush# はset ## この戦略の後、変更検出をトリガーする方法はまだたくさんあります;
1) コンポーネントの
属性の 参照
変化します。
イベント (
click、submit、mouse down などのサブコンポーネントの DOM イベントを含む)。
はイベントをサブスクライブし、同時に
Async パイプを設定します。
5 内で
ChangeDetectorRef.detectChanges()、ChangeDetectorRef.markForCheck()、ApplicationRef.tick()
detectChanges(): 手動で開始
このコンポーネントから各サブコンポーネントに検出を変更します
detach(): 検出器の数
からコンポーネントの検出器を削除し、再接続しない限り、検出メカニズムによって制御されなくなります
reattach(): 切り離されたディテクタ
プログラミング関連の知識の詳細については、
以上が変化検出とは何ですか? Angularの変更メカニズムについて話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。