我需要为 Charts JS 创建数据数组(作为 Angular 模块)。它只是一个像[1,2,3]
.
这个数组的源数据是反应形式的一部分。在 Json 形式中,它看起来像这样:
{
"name": "test",
"elements": [{
"id": "1",
"count": "10"
},
{
"id": "2",
"count": "20"
},
{
"id": "3",
"count": "30"
}]
}
我想获得一个包含count
元素的数组:[10, 20, 30]
但它们应该“绑定”到响应式表单字段,因此图表 js 数组应始终包含最新元素,如果可能的话。我可以尝试使用两种方式的数据绑定,但我听说混合反应形式和[(ngModel)]
所以问题是:如何将反应形式的“计数”字段映射到线性数组元素并使其保持最新状态?
谢谢!
首先使用该valueChanges
字段获取计数数组的 observable,每当编辑表单时更新:
const counts$ = this.formGroup.valueChanges.map(data => {
return data.elements.map(e => e.count);
});
然后以某种方式将该 observable 与您的图表库联系起来。下面是一个使用 subscribe 的例子(记得取消订阅):
counts$.subscribe(counts => {
updateChartJs(counts);
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句