Angularjs:需要帮助制作 c3 指令以动态地重新加载数据和更改图表类型
Angulrjs : need to help to make c3 direectives to reload data and changing chart types dynamically
我在使用 c3 指令重新加载数据和更改图表显示类型时遇到问题。请在 http://plnkr.co/edit/wWJx3zU3Sm1cN9ZCtvoh?p=preview.
查看我的 plunker
为了重新加载数据,我使用了 $scope.refreshInData
函数,为了更改图表类型,我使用了 $scope.transform
函数。但不知何故,这些都不起作用。从 Github 上给出的示例中,我尝试使用转换函数来更改图表类型,但我无法使其工作。请任何帮助...
$scope.transform = function(filterSelected, preChartName) {
alert('inside change Chart ' + preChartName);
c3SimpleService['#' + preChartName].transform(filterSelected, filterSelected);
// preChartName.load({ data.type : filterSelected });
}
C3 transform() 可以带一个参数,在你的情况下 - 它应该。
如果是 $scope.transform 你应该这样使用它:
c3SimpleService['#' + preChartName].transform(filterSelected.value);
注意两件事:
- transform 有 1 个参数,它是字符串 - 图表类型的名称
- 您传递的是对象,因此您必须访问其 值 字段
至于$scope.refreshInData()问题略有不同。在这里你唯一需要解决的是不是直接用它的 ID 来抓取图表,而是通过 c3SimpleService 服务。这将允许通过 AngularJS 层访问:
c3SimpleService['#' + preChartName].load({ columns : cityData });
您可以在 Plnkr
中看到它正在运行
您需要设置一个范围变量,例如:isChart 其值 true/false。您可以将此范围用于您的 ng-if 条件。在每个 request/change 上,您需要在请求成功后将其更改为 true。并且您还需要在每个 change/request 上重置图形数据数组。它工作得很好。
我在使用 c3 指令重新加载数据和更改图表显示类型时遇到问题。请在 http://plnkr.co/edit/wWJx3zU3Sm1cN9ZCtvoh?p=preview.
查看我的 plunker为了重新加载数据,我使用了 $scope.refreshInData
函数,为了更改图表类型,我使用了 $scope.transform
函数。但不知何故,这些都不起作用。从 Github 上给出的示例中,我尝试使用转换函数来更改图表类型,但我无法使其工作。请任何帮助...
$scope.transform = function(filterSelected, preChartName) {
alert('inside change Chart ' + preChartName);
c3SimpleService['#' + preChartName].transform(filterSelected, filterSelected);
// preChartName.load({ data.type : filterSelected });
}
C3 transform() 可以带一个参数,在你的情况下 - 它应该。
如果是 $scope.transform 你应该这样使用它:
c3SimpleService['#' + preChartName].transform(filterSelected.value);
注意两件事:
- transform 有 1 个参数,它是字符串 - 图表类型的名称
- 您传递的是对象,因此您必须访问其 值 字段
至于$scope.refreshInData()问题略有不同。在这里你唯一需要解决的是不是直接用它的 ID 来抓取图表,而是通过 c3SimpleService 服务。这将允许通过 AngularJS 层访问:
c3SimpleService['#' + preChartName].load({ columns : cityData });
您可以在 Plnkr
中看到它正在运行您需要设置一个范围变量,例如:isChart 其值 true/false。您可以将此范围用于您的 ng-if 条件。在每个 request/change 上,您需要在请求成功后将其更改为 true。并且您还需要在每个 change/request 上重置图形数据数组。它工作得很好。