gpt4 book ai didi

angularjs - 如何在 AngularJS 中停止 $timeout?

转载 作者:行者123 更新时间:2023-12-02 22:31:03 26 4
gpt4 key购买 nike

JS:

var vm = this;
vm.loadNames = function () {
var promise = service.getNames();
promise.then(function (data) {
$scope.names = data.names.data;
$timeout(vm.loadNames, 5000);
});
};
var timer = $timeout(vm.loadNames, 5000);
$scope.canceltime = function(){
$timeout.cancel(timer);
};

HTML:

<button ng-click="canceltime()"></button>

我想在单击按钮后停止 $timeout。我的代码不起作用。感谢您的提前答复!

最佳答案

您需要全局声明timer变量。试试这个代码。这有帮助吗

 var vm = this;
var timer;
vm.loadNames = function () {
var promise = service.getNames();
promise.then(function (data) {
$scope.names = data.names.data;
timer = $timeout(vm.loadNames, 5000);
});
};
$scope.canceltime = function(){
$timeout.cancel(timer);
};

$scope.mouseout = function(){
timer = $timeout(function () {
$scope.show = false;
}, 2000);
};

});

关于angularjs - 如何在 AngularJS 中停止 $timeout?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45140623/

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