如何“避免”孩子的变化在父母中可见

这是场景。在我的角度为8的应用程序中,我有一个包含产品的网格。每行都有一些信息,例如产品名称,创建日期等。

当我双击一行时,将显示一个模态,显示所选产品的详细信息,我可以对其进行编辑。

然后我可以做两件事。我可以保存更改,也可以取消并隐藏模式。

当我刚取消并隐藏模式时,我可以看到我对模式所做的所有更改,这些更改反映在产品网格的相应行中。我该如何避免呢?我知道它的不变性是如何工作的,我已经尝试过选择

changeDetection: ChangeDetectionStrategy

@Component声明中将属性更改为onPush,但这是一场灾难,它破坏了一切(即使我读到了这本书,我也不知道这两者到底是怎么工作的)

我应该克隆子组件的[input]吗?这种情况下有什么解决方法?

la_zhanghui 回答:如何“避免”孩子的变化在父母中可见

ChangeDetectionStrategy仅确定何时更新UI。因此,这对您没有帮助。

如果您正在将模型与[[ngModel)]绑定到输入字段,建议在将对象传递给模式之前先对其进行克隆。如果单击“保存”,请用新的替换旧的。如果单击“取消”,则将克隆丢弃。

本文链接:https://www.f2er.com/3123159.html

大家都在问