停止 object/variable 在打字稿中通过订阅进行更改
Stop object/variable changing with subscribe in typescript
我正在尝试对我的项目实施一些表单验证,其中更改检测是其中的一部分,如果用户正在“编辑”并且他们试图离开,我想在他们未保存时显示提示变化。我面临的一个问题是我有一个包含数据库中数据的数组。然后我想创建第二个数组,在页面加载时给出相同的数据,这样如果用户进行更改,2 个数组将不再相同,我可以显示提示。
但是,我遇到的问题是我的第二个数组永远与第一个相同。我不确定如何解决这个问题,我尝试使用 if 语句,例如:
this.service.memberData(this.memberId).subscribe(data => {
this.firstArray = data;
if (this.secondArray.length === 0) {
this.secondArray = data;
}
});
我怎样才能做到 secondArray
最初采用数据的值,但此后永远不会改变?
您需要克隆数组,而不是仅仅引用数组本身。
尝试this.secondArray = [...data];
我正在尝试对我的项目实施一些表单验证,其中更改检测是其中的一部分,如果用户正在“编辑”并且他们试图离开,我想在他们未保存时显示提示变化。我面临的一个问题是我有一个包含数据库中数据的数组。然后我想创建第二个数组,在页面加载时给出相同的数据,这样如果用户进行更改,2 个数组将不再相同,我可以显示提示。
但是,我遇到的问题是我的第二个数组永远与第一个相同。我不确定如何解决这个问题,我尝试使用 if 语句,例如:
this.service.memberData(this.memberId).subscribe(data => {
this.firstArray = data;
if (this.secondArray.length === 0) {
this.secondArray = data;
}
});
我怎样才能做到 secondArray
最初采用数据的值,但此后永远不会改变?
您需要克隆数组,而不是仅仅引用数组本身。
尝试this.secondArray = [...data];