プロパティを持つ Angular コンポーネントを作成していますMode(): string
。
イベントに応答するのではなく、プログラムでこのプロパティを設定できるようにしたいと考えています。
問題は、ブラウザー イベントがない場合、テンプレート バインディング{{Mode}}
が更新されないことです。
この変更検出を手動でトリガーする方法はありますか?
プロパティを持つ Angular コンポーネントを作成していますMode(): string
。
イベントに応答するのではなく、プログラムでこのプロパティを設定できるようにしたいと考えています。
問題は、ブラウザー イベントがない場合、テンプレート バインディング{{Mode}}
が更新されないことです。
この変更検出を手動でトリガーする方法はありますか?
次のいずれかを試してください。
ApplicationRef.tick()
- AngularJS に似てい$rootScope.$digest()
ます -- つまり、完全なコンポーネント ツリーを確認しますNgZone.run(callback)
- 同様$rootScope.$apply(callback)
-- つまり、Angular ゾーン内のコールバック関数を評価します。コールバック関数を実行した後、コンポーネントツリー全体をチェックすることになると思いますが、よくわかりません。ChangeDetectorRef.detectChanges()
- 同様$scope.$digest()
-- つまり、このコンポーネントとその子のみをチェックしますApplicationRef
、NgZone
、またはをコンポーネントに挿入できChangeDetectorRef
ます。