我见过很多类似 THIS ONE 的SO帖子,其中人们声称,如果任何对象值发生更改,则使用*ngFor
指令的对象的视图呈现数组不会更新。
我正在尝试复制相同的场景,然后想要测试KeyValueDiffers
之类的概念以及效率不高的slice
方法来强制调用变更检测。
我知道我们可以通过在trackBy
指令中使用*ngFor
或将ChangeDetectionStrategy
设置为OnPush
来做到这一点,但是这些将不会强制执行更改检测。
我能否仅通过具有复杂的数据结构(在其中更改嵌套属性并且视图不会更新)来强制执行此行为
对于DEMO,我创建了一个具有对象数组的组件,该对象数组作为Input()
属性的一个子集作为整体和作为*ngFor
内部的单个项传递给子组件。我写了一个服务,试图更新数组中的值,并且视图得到更新。我不要。