删除数组中的数据也会删除可观察对象中的数据

k2arahey  于 2022-10-04  发布在  Angular
关注(0)|答案(1)|浏览(179)

我正在尝试从可观察对象中获取数据并将其移动到数组中。然后,我想尝试拼接数组中的1项,但不知何故,可观察项中的项也被移除了。我有什么地方做错了吗?

假设这是我的可观察数据的值:

dataObs = {
   values:[{id: 1, name: orange},
           {id: 2, name: apple},
           {id: 3, name: peach}], ...}

以下是我的代码

let dataArr = new Array<any>;

        this.dataObs.subscribe(val => dataArr = val);
        dataArr.forEach((element, index) => {
           if(element.id == 1) dataArr.splice(index, 1) //delete orange in the array
           });

不知何故,可观察到中的橙色也被删除了。

dataObs = {
   values:[{id: 2, name: apple},
           {id: 3, name: peach}], ...}
ia2d9nvy

ia2d9nvy1#

订阅函数只能用于可观察对象(并且dataObs对象没有订阅函数)。你可以翻看这一页。

Property 'subscribe' does not exist on type

相关问题