javascript - 数组中的映射在 ngOnChange 事件 Angular 5 中不起作用

标签 javascript arrays angular

我是 Angular 的新手,这是我的第一个应用程序。我有一个父组件,它使用服务从 API 获取数据。根据服务的响应,我创建了一个数组并将其作为属性传递给子组件。在子组件中,我有跟随 ngOnChange 事件

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 功能上方和下方的控制台正在运行,打印modeTotaldoughnutChartLabelsdoughnutChartData 的内容但不是 map 函数中的字符串。 modeTotal 包含我希望返回的数据数组。

我错过了什么?

注意:我将数据从另一个从 API 接收数据的组件推送到 modeTotal。即使将新数据插入 modeTotal 也不会更新。

最佳答案

当新数据被插入数组时,更改事件不会发生在数组上,因为变量指的是同一个对象。尝试添加一个局部变量来监控推送变化。

关于javascript - 数组中的映射在 ngOnChange 事件 Angular 5 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48478092/

相关文章:

javascript - fancybox inline 显示无法加载请求的内容。请稍后再试

java - 如何从二维数组中打印坐标?

Angular 5 - 动态基础引用导致重复加载包| block

php - foreach $_POST 更新取决于 $key

javascript - 单击 Angular 时更改垫子按钮的颜色

javascript - 无法检查第二个循环内的复选框

javascript - GoToTop 按钮在后续使用中不起作用

javascript - Jquery Click and Rotation 使用添加/删除类来设置不同的状态

javascript - React 中用于图像模态的动态 CSS 类

javascript - 检查一个js对象的属性是否除了3以外都是null