gpt4 book ai didi

javascript - Angular 2 : View not updating on array push

转载 作者:行者123 更新时间:2023-12-01 15:27:20 25 4
gpt4 key购买 nike

我有两个子组件。他们正在共享我使用 http.get/subscribe 方法加载的 json 文件中的数据。出于某种原因,当我将数据推送到数组中时,它不会在 View 中更新。它虽然在控制台中显示更新的数组。

从服务加载数据的应用组件

this.dataService.getData()
.subscribe(
data => {
this.data = data;
},
(err) => console.log('Error: ', err),
() => console.log("success!")
);

我正在使用输入来访问我的子组件中的数据。当新值被插入数组时,Angular 2 中有什么方法可以更新 View 。

显示组件
<div *ngFor="let i of items; let k = index"><h1>{{i.title}}</h1> <p>{{i.desc}}</p></div>

按钮组件
<button (click)="addItem(i)">Add Item</button>

The Component Function
addItem(i){
let data = {title: "Some title", desc: "Some desc"};
this.data.list[i].items.push(data);
}

最佳答案

我有同样的问题,我通过使用扩展运算符创建对象的新数组而不是将新元素插入现有数组来解决这个问题。

在你的情况下,我会做类似的事情:

addItem(i){
let data = {title: "Some title", desc: "Some desc"};
this.data.list[i].items = [...this.data.list[i].items, data];
}

关于javascript - Angular 2 : View not updating on array push,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41813489/

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