使用案例
当数据从api更改时,$scope.data
也会发生变化。我可以在html中看到数据的变化。预计会有旭日图表更新。
以下是核心代码:
控制器:
var grabData=function(){
$http.get('someApi').then(function success(response){
$scope.options = {
chart: {
type: 'sunburstChart',
width:450,
height: 450,
color: d3.scale.category20c(),
duration: 250,
mode: 'size',
useInteractiveGuideline:true,
}
};
$scope.config = {
visible: true, // default: true
disabled: false, // default: false
refreshDataOnly: true, // default: true
deepWatchOptions: true, // default: true
deepWatchData: true, // default: true
deepWatchDataDepth: 2, // default: 2
debounce: 10 // default: 10
};
$scope.data = [];
$scope.data.push({"name":"PORTFOLIO", "children":response.data});
},function error(response){
$scope.all = response.statusText;
});};
HTML:
<div class="col-md-6 col-md-offset-1">
<nvd3 options="options" data="data" config="config" class="with-3d-shadow with-transitions"></nvd3>
</div>
问题:
现在,当数据从api更改时,$scope.data
也会发生变化。我可以在html中看到数据的变化。但是,在我手动刷新页面之前,旭日图表根本不会更新。
答案 0 :(得分:1)
所以修复非常简单,你必须传递refreshDataOnly:false。
您的配置中 config="{refreshDataOnly: false}"
-
<nvd3 options="options" data="sunburst" config="{refreshDataOnly: false}" class="with-3d-shadow with-transitions"></nvd3>