我正在将包含嵌套数组的数据响应中的数据推送到组件中的静态数据数组中。
通过编程,数据被正确地推入对象中。我在遍历该方法时看到了这一点,并看到我的for循环成功地将项添加到了现有的数组中。正在添加"OnInit">
在我看来,这只是没有将项目添加到表中。
ngOnInit(): void {
this._data.getContacts().subscribe(data => this.addAsyncData(data));
}
addAsyncData(result){
for(let i =0; i < result.length; i++) {
this.people.push(result[i]);
}
}
我怀疑这与生命周期挂钩有关。。
我需要查看更多的代码才能确定,但您的更改似乎没有反映在模板的呈现中,因为添加到"人员"数组中不会触发更改检测。
这是因为更改检测器会查找对绑定对象引用的更改(在本例中,是指向数组的"指针"(。要触发更改检测,您需要更改引用(即创建一个新数组(。
试试这个:
addAsyncData(result){
this.people = [...this.people, ...result];
}
它创建了一个新的数组,包含原始内容和新内容。