gpt4 book ai didi

javascript - 关闭事件后的 Angular ui 模态

转载 作者:IT王子 更新时间:2023-10-29 03:09:17 24 4
gpt4 key购买 nike

有没有一种方法可以在模态窗口被调用后调用函数(无论它是通过按钮还是通过单击背景发生的)

var dialog, options;

options = {
windowClass: "lightBox"
templateUrl: "url to the template",
controller: "some random controller",
scope: $scope
});

$("body").css({
'overflow': 'hidden'
});

dialog = $modal.open(options);

dialog.result.then(function() {
$("body").css({
'overflow': 'auto'
});
});

我希望每次模态窗口关闭结果中的函数。然后 promise 得到执行。现在它只在我手动关闭模态 $modalInstance.close() 时执行。但是如果我点击背景,这个方法不会被调用

知道我该怎么做吗?

最佳答案

我假设您正在使用来自 angular-ui 的模态对话框。但在进入细节之前,需要一些关于 AngularJS 中的 promise 的文档。您需要知道每个 then 函数都可以接受 3 个参数:

then(successCallback, errorCallback, notifyCallback) 
  • successCallback 在 promise 解决时执行。
  • errorCallback 在 promise 被拒绝时执行。
  • notifyCallback 在收到通知时执行。

对于 angular-ui 的模态,点击背景将导致拒绝 promise 。考虑到这一点,您的代码可以更改为:

dialog.result.then(function () {
alert('Modal success at:' + new Date());
}, function () {
alert('Modal dismissed at: ' + new Date());
});

你可以看到一个工作的 plunker here

关于javascript - 关闭事件后的 Angular ui 模态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18962536/

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