首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angulrjs :需要帮助使c3二分体重新加载数据和动态更改图表类型

Angulrjs :需要帮助使c3二分体重新加载数据和动态更改图表类型
EN

Stack Overflow用户
提问于 2015-01-28 12:02:21
回答 2查看 1.2K关注 0票数 0

我面临c3指令重新加载数据和更改图表显示类型的问题。请看我在http://plnkr.co/edit/wWJx3zU3Sm1cN9ZCtvoh?p=preview的柱塞。

为了重新加载数据,我使用了$scope.refreshInData函数,对于更改图表类型,我使用的是$scope.transform函数。但不知怎么的,这些都不起作用。从Github上的给定示例中,我尝试使用transform函数来更改无法使其工作的图表类型。任何帮助请..。

代码语言:javascript
复制
$scope.transform = function(filterSelected, preChartName) {
    alert('inside change Chart  ' + preChartName);
    c3SimpleService['#' + preChartName].transform(filterSelected, filterSelected);
    //  preChartName.load({ data.type : filterSelected });

}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-28 12:29:49

C3 transform()可以接受一个参数,在您的情况下,它应该接受。

对于$scope.transform,您应该像这样使用它:

代码语言:javascript
复制
c3SimpleService['#' + preChartName].transform(filterSelected.value);

注意2件事:

  1. 转换采用1个参数,它是图表类型的字符串名称。
  2. 您要传递的是对象,因此您必须访问它的字段。

至于$scope.refreshInData()问题则略有不同。在这里,您只需要修复一件事,那就是不是直接使用它的ID,而是通过c3SimpleService服务获取图表。这将允许通过AngularJS层进行访问:

代码语言:javascript
复制
c3SimpleService['#' + preChartName].load({ columns : cityData });

您可以看到它在普朗克中工作。

票数 2
EN

Stack Overflow用户

发布于 2016-11-28 09:25:10

您需要设置一个范围变量,例如: isChart值true/false。您可以在ng-if条件中使用此范围。对于每一个请求/更改,您都需要在请求成功之后更改它的false,使其成为现实。此外,您还需要在每次更改/请求时重置图形数据数组。它工作得很好。

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

https://stackoverflow.com/questions/28191802

复制
相关文章

相似问题

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