我正在使用带有 TypeScript 的 Angular 2。我有用户管理组件,其中有整个用户表。
当单击表中的任何用户时,将形成带有要编辑的整个属性的显示器。选择用户发生如下事件:
onUserSelected(event) {
var selectedId = event.data.id;
this.selectedUser = this.users.filter(user => user.id === selectedId)[0]
}
问题是当 selectedUser 被编辑时,他的属性也在表中发生了变化,而且看起来不太好。我尝试如下创建自己的副本,但没有帮助 - 用户类
clone() {
var cloned = new User(this.id, this.login, this.name, this.surname, this.phone);
return cloned;
}
也许我正在做一些在 Angular2 中不是好的做法?
原文由 miechooy 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用 lodash :
https://lodash.com/docs#cloneDeep
lodash 推荐用于大量对象/数组操作