Angular 2 表单中的回滚模型状态

Angular 2 rollback model state in forms

我在 Angular 2 中有一个绑定到模型的表单。现在我希望在用户点击取消时回滚模型中的更改。我该如何实现?

我将重复评论中讨论的内容(因为我不喜欢 SO 上未回答的问题):

  • 对于许多用例,您可以使用与 Hierarchical Injectors 开发指南中讨论的 RestoreService 非常相似的东西。
  • 对于 OP 的特殊情况,模型绑定到另一个组件并且实时表单更改需要反映在另一个组件中,请在显示表单之前复制您的模型。如果用户取消,恢复到副本,并通知其他组件也使用副本(即,将副本发送给它)。

如果您通过 Object.assign({}, yourModel) 复制您的模型,您不会改变原始对象,这将允许您恢复到原始对象。