如何解决AngularJS调用angular-ui模态时清除$ timeout
该$timeout
服务返回一个Promise
可用于取消超时的对象。
// Start a timeout
var promise = $timeout(function() {}, 1000);
// Stop the pending timeout
$timeout.cancel(promise);
要取消所有未决超时,您需要维护一个诺言列表,并在打开模式时取消整个列表。
解决方法
我$timeout
在Modal控制器中有几个表达式
App.controller('ModalCtrl',function ($scope,$timeout) {
for (var i = 0; i < 10; i++) {
(function () {
var timer = $timeout(function () {
console.log('timer')
},1000);
})()
}
})
调用模式时,我需要清除所有计时器:
App.controller('MainCtrl',$modal,$timeout) {
$scope.showMap = function () {
var modal = $modal.open({
templateUrl: 'modalap.html',controller: 'modalCtrl',})
modal.result.then(function () { //fires when modal is resolving
},function () { //fires when modal is invoking
});
} })
我怎样才能做到这一点?
PS对不起,错误的代码格式。我不知道为什么,但我无法更好地格式化它。我在这里重复了代码:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。