<强烈> header.html中
<a ui-sref="fetchAlerts" ng-controller="AlertsCtrl"><img src="./assets/img/alert.png"><span class="badge">{{alertsCount}}</span></a>
AlertsCtrl.js
app.controller('AlertsCtrl', ['$rootScope', '$scope', 'DummyFactory', function($rootScope, $scope, DummyFactory) {
$scope.fetchAlerts = function() {
DummyFactory.getAlerts() //scala code to fetch background alert
.success(function(data){
console.log(data);
$scope.alerts=data;
$rootScope.alertsCount=Object.keys($scope.alerts).length;
})
};
$interval( function(){ $scope.fetchAlerts(); }, 3000);
}]);
问题是我的$interval
中的函数没有每3秒调用一次,因此{{alertsCount}}
没有得到更新。我不确定我做错了什么。
编辑1 :
AS建议,我已经注入了$interval
服务。但它只刷新一次。它不会持续刷新。据我所知,我无法在控制台中找到任何错误。
编辑2 :
使用$interval
调用false
函数有效!即,
$interval( function(){ $scope.fetchAlerts(); }, 3000, false)
;
答案 0 :(得分:3)
显然你忘了注入$interval
,更新函数定义为:['$rootScope', '$scope', 'DummyFactory', '$interval', function($rootScope, $scope, DummyFactory, $interval)
编辑:通过将$interval
函数调用为$interval( function(){ $scope.fetchAlerts(); }, 3000, false);