使视图不更新对象数组中的更改

时间:2019-05-18 16:00:59

标签: angular

我见过很多类似 THIS ONE 的SO帖子,其中人们声称,如果任何对象值发生更改,则使用*ngFor指令的对象的视图呈现数组不会更新。

我正在尝试复制相同的场景,然后想要测试KeyValueDiffers之类的概念以及效率不高的slice方法来强制调用变更检测。

我知道我们可以通过在trackBy指令中使用*ngFor或将ChangeDetectionStrategy设置为OnPush来做到这一点,但是这些将不会强制执行更改检测。

我能否仅通过具有复杂的数据结构(在其中更改嵌套属性并且视图不会更新)来强制执行此行为

对于DEMO,我创建了一个具有对象数组的组件,该对象数组作为Input()属性的一个子集作为整体和作为*ngFor内部的单个项传递给子组件。我写了一个服务,试图更新数组中的值,并且视图得到更新。我不要。

0 个答案:

没有答案