【发布时间】:2017-07-14 02:39:11
【问题描述】:
我想使用 Angular js 每 30 秒重新加载一次图表。如何重新加载图表以显示最新值。如何在角度 js 中使用 setInterval(function()?如何在每 30 秒内重新加载融合图表。
代码
var app = angular.module('myApp', ["ng-fusioncharts"]);
app.controller('myCtrl', function ($scope, $http) {
$scope.chartData = {
"chart": {
"caption": "chart 1",
"lowerLimit": "0",
"upperLimit": "100",
"showValue": "1",
"valueBelowPivot": "1",
"theme": "fint",
"width": '50%',
"height": '50%'
},
"colorRange": {
"color": [{
"minValue": "0",
"maxValue": "30",
"code": "#6baa01"
}, {
"minValue": "31",
"maxValue": "70",
"code": "#f8bd19"
}, {
"minValue": "71",
"maxValue": "100",
"code": "#e44a00"
}]
},
"dials": {
"dial": [{
"value": "@Model[0].Filled.ToString("N2")"
}]
}
};
});
<div class="container" ng-app="myApp" ng-controller="myCtrl">
<fusioncharts id="chartContainer1" width="300" height="300" type="angulargauge" datasource={{chartData}}></fusioncharts>
<div>
【问题讨论】:
-
$interval和30000时间会成功(注意:不要忘记清除$destroy事件中的异步事件) -
如果您想实现实时更新,我建议您尝试使用套接字技术。
-
同意@Nicolas 并建议使用 socket 而不是 $interval ;-)
标签: javascript jquery angularjs