AngularJS-$interval未被激发
AngularJS - $interval is not being fired
本文关键字:interval AngularJS- 更新时间:2023-09-26
header.html
<a ui-sref="fetchAlerts" ng-controller="AlertsCtrl"><img src="./assets/img/alert.png"><span class="badge">{{alertsCount}}</span></a>
警报Ctrl.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:
按照建议,我已经注入了$interval
服务。但它只刷新一次。它不进行连续刷新。据我所知,我在控制台中找不到任何错误。
编辑2:
用false
调用$interval
函数成功!即。,$interval( function(){ $scope.fetchAlerts(); }, 3000, false)
;
显然您忘记注入$interval
,将函数定义更新为:['$rootScope', '$scope', 'DummyFactory', '$interval', function($rootScope, $scope, DummyFactory, $interval)
编辑:通过将$interval
函数调用为$interval( function(){ $scope.fetchAlerts(); }, 3000, false);
来解决问题
相关文章:
- 当使用 Jasmine 对我的 angularJS 应用程序进行单元测试时,$interval是未定义的
- 在 AngularJS 中使用 $broadcast 内部$interval
- Angularjs $interval.flush()
- AngularJs $interval on service
- 在 angularJs 中使用动态值进行$interval延迟
- AngularJS-$interval未被激发
- $interval not running, angularjs
- AngularJS controllerAs:更新$interval中的controller字段不会更新ng show
- AngularJS在$interval上轮询$resource't自动解析$resource返回的promise
- 如何在Angularjs中优化实时通知的$interval
- Angularjs的interval在rootscope中应用更改
- 在AngularJS中测试$interval被触发3次
- 在AngularJS中是否可以用interval值来设置location.reload()或$state.reload(
- 如何在Angularjs中同步两个$interval承诺?
- AngularJS:为什么不让我$interval stop ?
- Angularjs $interval:使用回调函数作为传入函数的参数
- AngularJs中$interval和setInterval的区别
- AngularJs的interval只显示{{name}}
- $interval在angularjs中无法正常工作
- Angularjs$interval返回的fn不是函数