Javascript 数组中的贴图在ngOnChange事件5中不起作用
我是Angular的新手,这是我的第一个应用程序。我有一个父组件,它使用服务从API获取数据。通过服务的响应,我创建了一个数组,并将其作为属性传递给子组件。在子组件中,我有follow ngOnChange事件Javascript 数组中的贴图在ngOnChange事件5中不起作用,javascript,arrays,angular,Javascript,Arrays,Angular,我是Angular的新手,这是我的第一个应用程序。我有一个父组件,它使用服务从API获取数据。通过服务的响应,我创建了一个数组,并将其作为属性传递给子组件。在子组件中,我有follow ngOnChange事件 ngOnChanges(changes: any) { console.log("Mode total in mode", this.modeTotal); this.modeTotal.map(mode => { console.log("For ea
ngOnChanges(changes: any) {
console.log("Mode total in mode", this.modeTotal);
this.modeTotal.map(mode => {
console.log("For each");
this.doughnutChartLabels.push(mode.name);
this.doughnutChartData.push(mode.total);
console.log(`Loop inside onChange Name: ${mode.name} and Total: ${mode.total}`);
});
console.log("DoughnutChartLabels", this.doughnutChartLabels);
console.log("DoughnutChartData", this.doughnutChartData);
}
我面临的问题是map函数上方和下方的控制台正在工作,打印modeTotal、doughnutChartLabels和doughnutChartData的内容,但不打印map函数内的字符串。modeTotal有我希望返回的数据数组
我错过了什么
注意:我从另一个从API接收数据的组件将数据推入modeTotal。即使将新数据推送到modeTotal中,modeTotal也不会得到更新。将新数据推送到阵列中时,阵列上不会发生更改事件,因为变量引用的是同一对象。尝试添加一个局部变量来监视推送更改。哪个字符串未被打印?此语句
console.log(`Loop-inside-onChange-Name:${mode.Name}和Total:${mode.Total}`)你能提供一个你想用的stackblitz演示吗?我也试过forEach。不走运。