こんにちは、laco0416です。 今回はAngular2がいかにしてオブジェクトの変更を監視し、データバインディングを解決しているのかを解き明かします。 結論 この部分でループとtick処理を実装していた。 ObservableWrapper.subscribe(this._zone.onTurnDone, (_) => { this._zone.run(() => { this.tick(); }); }); 調査開始 Angular2は$applyがないのにどうやってオブジェクトの変更をビューに反映しているんだろう?という疑問から調査を開始。 そもそも、Componentのプロパティに変更を加えたときに何かイベントが発生しているわけではない(object.ObserveもProxiesも使っていない)ので、何かしらのタイミングで別のメソッドから変更があるかどうかをチェックしているはず