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