gpt4 book ai didi

javascript - AngularJS - $interval 没有被解雇

转载 作者:行者123 更新时间:2023-11-28 18:51:38 25 4
gpt4 key购买 nike

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:

按照建议,我已经注入(inject)了 $interval 服务。但它只刷新一次。它不进行连续刷新。据我所知,我在控制台中找不到任何错误。

编辑 2:

使用 false 调用 $interval 函数成功了! IE。,$interval( function(){ $scope.fetchAlerts(); }, 3000, false);

最佳答案

显然你忘记注入(inject)$interval ,更新函数定义为:['$rootScope', '$scope', 'DummyFactory', '$interval', function($rootScope, $scope, DummyFactory, $interval)

编辑:通过调用 $interval 解决问题功能为$interval( function(){ $scope.fetchAlerts(); }, 3000, false);

关于javascript - AngularJS - $interval 没有被解雇,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34422104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com