所以这是我的剧本,我根本不了解正在发生的事情。
var reloadTableInterval = setInterval(function(){
console.log('ABC');
}, 120000);
当我这样做时,我注意到它写了13次" ABC"每次间隔完成时,在我的控制台中。我想知道我是否做错了什么?
请注意,此函数是AngularJS(1.3)控制器的一部分。
app.controller('unitCtrl', ['$scope', '$http', '$compile', function($scope, $http, $compile){
//...
}]);
另外,我有7个使用我的Controller的指令,它们都是以这种方式构建的,但名称不同:
app.directive('clientInfoModal', function () {
return {
restrict: 'E',
replace: true,
templateUrl: '/reservations/template/ClientInfoModal.html',
controller: 'unitCtrl'
};
});
它们被加载到我的HTML文档的底部(它是一个单页的小应用程序)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular.min.js"></script>
<script src="js/app.js"></script>
<script src="js/controller/unitController.js"></script>
<script src="js/directive/saleModal.js"></script>
<script src="js/directive/reservationModal.js"></script>
<script src="js/directive/clientInfoModal.js"></script>
<script src="js/directive/unitsTable.js"></script>
<script src="js/directive/waitingListModal.js"></script>
<script src="js/directive/oneUnitWaitingListModal.js"></script>
<script src="js/directive/newNoteModal.js"></script>
答案 0 :(得分:0)
编辑:修正了基于OP的问题评论帖子的答案
app.service('intervalCheckService', ['$interval', function($interval) {
return {
intervalRun: false,
setInterval: function() {
if (!intervalRun) {
this.intervalRun = true;
var reloadTableInterval = $interval(function() {
console.log('ABC');
}, 120000);
}
}
}
}]);
在您的应用中将该服务作为依赖项包含在内。然后将其注入您的控制器。
app.controller('unitCtrl', ['$scope', '$http', '$compile', 'intervalCheckService', function($scope, $http, $compile, intervalCheckService) {
intervalCheckService.setInterval();
//...
}]);
如果您需要更多示例,角度文档也是一个很好的服务示例:See Here