我有这个使用服务的指令" BoxService "采取一定的价值。
angular.module("App").directive('boxedWidget',
function () {
return {
restrict: 'E',
scope: {
'source': '=',
},
replace:true,
templateUrl: '/widgets/box/widget.html',
link: function (scope, element, attrs) {
scope.item = scope.source;
boxService
.getBoxeValue(scope.item.id)
.success(function(data, status, headers, config) {
scope.item.value = data;
});
}
}
});
现在我想每5秒刷新一次值。 有什么建议吗?
答案 0 :(得分:2)
您可以尝试$interval
在指令
$interval(function () {
loadData();
}, duration)
有关$interval
的详细信息,请参阅Angular $interval
答案 1 :(得分:0)
angular.module("App").directive('boxedWidget', ['$interval', function($interval) {
return {
restrict: 'E',
scope: {
'source': '=',
},
replace:true,
templateUrl: '/widgets/box/widget.html',
link: function (scope, element, attrs) {
scope.item = scope.source;
// don't forget to inject $interval in the directive declaration
$interval(function(){
boxService
.getBoxeValue(scope.item.id)
.success(function(data, status, headers, config) {
scope.item.value = data;
});
}, 5000);
}
}
});