【发布时间】:2016-05-27 23:12:11
【问题描述】:
我正在尝试将Chart.js 实现到我的Angular2 应用程序中。我也在使用ng2-charts 指令。我按照示例中所示设置了所有内容,当我使用示例数据运行应用程序时,一切正常。当我尝试使用自己的数据时,问题就来了。实际的问题是我正在使用服务在ngOnInit() 方法中加载数据,这样在我拥有数据之前就初始化了图表指令(或者我猜是这样)。我收到了这个不太描述性的错误:
“异常:TypeError: t 在 [barChartOptions in trafficComponent@6:16] 中未定义”
其实没什么好说的 :) 问题不在于barChartOptions,因为我只替换了barChartLabels 和barChartData 参数,其余参数与示例相同。我的参数也是正确和有效的,它们也不是问题。
我想知道是否有办法使用类似Promise 的解决方案重新加载(重新初始化)指令或利用生命周期挂钩。
如果有其他人遇到过同样的问题并准备分享他的解决方案,我会非常高兴 :)
更新
我在控制台中记录了 data 对象作为 new Chart(ctx).Bar(data, options); 传递给 Chart 构造函数,而 labels 和 datasets.data 属性是 未定义 虽然我又记录了一次在我从服务中获取数据之后,它们是正确的。我认为某种数据绑定应该可以解决问题,但在这种情况下我不知道如何实现它。实际上有一个数据绑定(如ng2-charts 中的示例所示),但它不像我预期的那样工作。在我的组件中更改属性不会影响 Charts 指令的属性,它们仍然未定义。
更新 2 (2016-02-19)
更新到新发布的 Angular 版本 2.0.0-beta.7 后,一切都按预期工作。
【问题讨论】:
-
我试图将图表 js 添加到我的应用程序中,错误是 p-chart is not known
标签: javascript charts angular chart.js