如何在不更改任何输入值或角度参考的情况下强制触发变化检测?

时间:2019-09-20 14:07:18

标签: angular angular-changedetection

在我的代码中,有一种情况我既不想更改输入值,也不想更改子组件的输入的引用,但仍然想强制触发从父组件到子组件的更改检测。

有什么办法吗?

2 个答案:

答案 0 :(得分:0)

您可以使用ChangeDetectorRef提供程序来强制它。在您的构造函数中:

...
public cdr: ChangeDetectorRef,
...

然后,您可以使用this.cdr.detectChanges()来检测更改。

文档:https://angular.io/api/core/ChangeDetectorRef

答案 1 :(得分:0)

您可以尝试使用ChangeDetectorRef的markForCheck()方法,因为这将确保即使未发生任何触发,也可以检查组件的更改。