这是我的傻瓜:https://plnkr.co/edit/QPqciUngXeby2uECbokx?p=preview (您可能必须单击停止并运行几次才能正确加载)
表格没有变化。
但是当你采取
changeDetection: ChangeDetectionStrategy.OnPush
out,表格改变了。
我的理解是,使用OnPush,当@Input更改时,更改检测将触发。在这种情况下,@ Input是[value],它链接到this.testData。
为什么不改变?
答案 0 :(得分:1)
因为当更改输入或处理了收听的事件时,onPush
更改检测会运行。
如果更改this.testData
,则需要更改检测以运行以更新[value]="testData"
绑定。如果发生这种情况,更改检测将针对<p-dataTable>
运行,因为其输入已更改。
App
上没有任何输入已更改,因此没有更改检测。
您可以使用App
ChangeDetectorRef.markForCheck()
以进行检查