Angular nvd3 sunburst不会随$scope.data的更改而更新
Angular nvd3 sunburst does not update with $scope.data change
用例:当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中看到数据的变化。但是,在我手动刷新页面之前,sunburst图表根本不会更新。
所以修复非常简单,您必须传递refreshDataOnly:false。
配置中的config="{refreshDataOnly: false}"
-
<nvd3 options="options" data="sunburst" config="{refreshDataOnly: false}" class="with-3d-shadow with-transitions"></nvd3>
相关文章:
- Javascript循环不会自我更新
- 若data=0,则不更新(执行)表.(JavaScript/SQL)
- .data()无法更新Chrome检查器中显示的代码
- Knockout JS值不显示/绑定/更新,但可通过ko.toJS($data).value获得
- jQuery移动URL参数不会在浏览器中更新,但使用“data-url”获得正确的参数
- 使用 inner.html.data 更新 jQueryUI 进度条
- Knockoutjs:foreach绑定中的$data没有更新底层元素
- 在不进行HTTP调用的情况下更新Ember Data中的特定记录
- jsViews:在data-link中更新视图之前检查要验证的数据
- 使用ajax和data-*属性更新按钮
- 更新data.table中的select输入值
- 如何在使用jQuery启动的模态中更新-data行属性
- Data-ng-model没有使用data-ng-if更新
- 当data-*属性改变时,如何更新元素
- 如何更新“复杂”使用jQuery's .data()存储的数据
- 更新li元素的属性data-id
- Angular nvd3 sunburst不会随$scope.data的更改而更新
- 如何更新ember-data中的关系
- 用不同的对象数组data更新对象数组
- 使用ng-bind时更新data in指令