2016-09-20 1 views

答えて

1

アプリケーション状態変化が原因で発生することがあります

  • イベント、
  • XHR - フェッチデータ、
  • タイマ - のsetTimeout()、のsetInterval()

これらはすべて非同期です。

Angular 2が知っているように、変更検出器をいつ実行するのですか? ゾーンのためです。そこには、それについての詳細を読むことができます:

http://blog.thoughtram.io/angular/2016/02/01/zones-in-angular-2.html http://blog.thoughtram.io/angular/2016/01/22/understanding-zones.html

Zonesは、ライフサイクルイベントがあります。 ApplicationRefはリスニングゾーンonTurnDoneイベントです。このイベントが発生するたびに、tick()関数が実行され、の変更検出が開始されます。

角2のすべてのコンポーネントには、独自の変更検出器(上から下へコンポーネントツリーのように見える)があります。 Change Detectorは変数参照を比較しており、参照が変更されていない場合、CDはプロパティ(変数がオブジェクトの場合)をチェックします。

ことについては本当に素晴らしい記事があります:

http://blog.thoughtram.io/angular/2016/02/22/angular-2-change-detection-explained.html

関連する問題