早上好。
我有一个服务,需要花时间来返回结果。最糟糕的是 - 我必须打两次电话。
返回的数据形成2个网格(一个可编辑),在进行更改时会触发其他事件。
如果我将订阅分开,则对第二个数组所做的更改将包含在此数据集
中如果我订阅该服务一次并创建2个数据集,则对阵列所做的任何更改都将流向两个集合。
我怀疑问题与我订阅服务的方式有关
this._CashService.getCash()
.subscribe((data: any[]) => {
this.cash = data;
this.cash2 = data;
});
这是一个显示我的问题的傻瓜
https://plnkr.co/GwgBD1Mp8XF5oLZoYt4k?p
我不会改变顶部网格
答案 0 :(得分:0)
当我将第一个网格绑定到“cash”变量并将第二个网格绑定到“cash2”时,这些变量引用了相同的数组(来自我的服务的“数据”)。因此,当我修改“cash2”数组的项目时,“cash”数组也被修改。
要单独编辑数组,我需要复制原始数组。要为此示例执行此操作,需要
this.cash2 = JSON.parse(JSON.stringify(data));