首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将Kendo UI角图连接到数据源?

如何将Kendo UI角图连接到数据源?
EN

Stack Overflow用户
提问于 2020-02-10 08:00:58
回答 1查看 249关注 0票数 1

我有一个带有一些系列数据的Kendo用户界面图。当我更新系列时,图表数据不会改变。我从文档中看到,它需要连接到数据源。但是数据源属性在角标记中不可用。

代码语言:javascript
复制
<kendo-chart
  [series]="chartConfig.series"
  [valueAxis] ="chartConfig.valueAxes"
  [legend]="chartConfig.legend"
  [title]="chartConfig.title"
  [tooltip]="chartConfig.tooltip"
  (seriesClick)="onSeriesClick($event)"
  (drag)="onDrag($event)"
  (dragStart)="dragStart($event)"
  (dragEnd)="dragEnd($event)">
</kendo-chart>

类型标

代码语言:javascript
复制
public chartConfig = {
title: {
  text: 'Insight'
},
legend: {
  position: 'bottom'
},

series: [], //Some data 
valueAxes: [], //Some data
categoryAxis: {
  categories: [],

  axisCrossingValues: [24, 24, 0],
  justified: true
},
tooltip: {
  visible: true,
  format: '{0}',
  template: '#= category #/03: #= value #'
}
};

当我有一个更新的值时,我会像这样更新这个系列。

代码语言:javascript
复制
this.chartConfig.series[seriesIndex].data[xAxisIndex] = parseInt(updatedValue.Value);

但是图表没有更新。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-10 13:38:58

没有datasource指令,您不需要这样的指令。问题是不能从角度上获取对this.chartConfig.series的更改。

角度变化检测检查参考变化,而不是简单的值变化。对于这个问题,最简单的解决方案是,在执行了任何更新之后,将this.chartConfig.series的引用更改如下:

代码语言:javascript
复制
this.chartConfig.series[seriesIndex].data[xAxisIndex] = parseInt(updatedValue.Value);
this.chartConfig.series = [...this.chartConfig.series];

最后一行基本上创建了一个与原始数组相同的新数组,并将this.chartConfig.series的引用更改为指向新创建的数组。这使得它更有可能被角度变化检测到。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60146239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档