【发布时间】:2016-03-21 13:56:01
【问题描述】:
我目前有一个使用 C3 创建的简单圆环图。我已将其放入指令中,一切正常。
我的指令如下:
angular.module('dashboardApp').directive('donutChart',function(){
function link(scope,element,attr){
scope.$watch(function() {
return scope.data;
},
function() {
if(scope.data !== undefined){
var chart = c3.generate({
bindto: 'donut-chart',
data:{
columns : scope.data,
type: 'donut'
},
donut:{
label : {
format: function(value,ratio,id){
return value;
},
}
},
tooltip:{
position: function(data,width,height,element){
return {top:-180,left:300}
}
},
});
}
}
)};
return {
restrict: 'EA',
scope: {
data: '='
},
link : link
};
});
在 HTML 中我有以下内容:
<div class="row">
<div class="donut-route" >
<donut-chart data='routes'></donut-chart>
</div>
</div>
我的目标是让 donut char 在它当前所在的 div 中重新调整大小。
我知道 C3 调整大小,我可以在其中传递值,也许我可以将窗口大小添加到 $scope.watch 并每次调整它的大小,但我不确定是否会这样太重。通过阅读文档,我认为 C3 图形会自动重新调整大小,但由于它位于指令中,我认为它受到了限制。
任何指针或建议将不胜感激。
【问题讨论】:
标签: javascript angularjs c3.js