gpt4 book ai didi

angular - 数组对象修改时如何触发变化检测?

转载 作者:行者123 更新时间:2023-12-02 17:29:06 25 4
gpt4 key购买 nike

在我的 angular4 应用程序中,我有一个带有基于数组的 *ngFor 指令的组件:

 <div *ngFor="let person of persons">
{{person.name}}
{{person.car}}
</div>

在组件的其他部分中,我能够删除汽车,因此在 deleteCar() 方法的订阅中,我将 persons 数组更新为:

 deleteCar(car) {
this.carService.deleteCar(car).subscribe(() => {
this.persons.filter(obj => obj.car == car.name)
.forEach(i => i.car = null);
}
}

问题是当我修改 Person 数组中现有的 person 对象时,不会触发 *ngFor 循环。怎么解决这个问题?

最佳答案

我通过解构数组来解决这个问题。我不确定这是最好的方法。

this.persons = [...this.persons];

只要它会更改数组的引用,Angular 就会注意到数组已更新。

关于angular - 数组对象修改时如何触发变化检测?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44286483/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com