gpt4 book ai didi

javascript - 如何检测 $modal 中模式窗口的关闭? Angular 用户界面

转载 作者:行者123 更新时间:2023-12-02 17:04:47 25 4
gpt4 key购买 nike

我正在 angular-ui 中使用 $modal 创建模态窗口,她是创建模型的代码。

this.show = function (customModalDefaults, customModalOptions, extraScopeVar) {
//Create temp objects to work with since we're in a singleton service
var tempModalDefaults = {};
var tempModalOptions = {};

//Map angular-ui modal custom defaults to modal defaults defined in service
angular.extend(tempModalDefaults, modalDefaults, customModalDefaults);

//Map modal.html $scope custom properties to defaults defined in service
angular.extend(tempModalOptions, modalOptions, customModalOptions);

if (!tempModalDefaults.controller) {
tempModalDefaults.controller = function ($scope, $modalInstance) {
$scope.modalOptions = tempModalOptions;
$scope.extraScopeVar = extraScopeVar;
$scope.modalOptions.ok = function (result) {
$modalInstance.close(result);
};
$scope.modalOptions.close = function (result) {
$modalInstance.dismiss('cancel');
};
}
}

return $modal.open(tempModalDefaults).result;
};

到目前为止,一切都运行良好。当我在模态窗口上点击“取消”或“确定”时,模型会关闭并关闭。问题是,当我在模态窗口外按下单击时,我想要的东西就会消失,但我也知道在这种情况下运行哪种方法来覆盖它以实现自定义行为,就像我使用“确定”和“关闭”所做的那样

最佳答案

$modal.open(tempModalDefaults).result

是一个 promise 。当背景选项设置为“true”时, promise 将被拒绝。您可以使用 then 方法或快捷方式 catch 方法将拒绝处理程序附加到该 Promise:

catch(errorCallback) – shorthand for promise.then(null, errorCallback)

return $modal.open(tempModalDefaults).result.catch(function (reason) {
// your code to handle rejection of the promise.
if (reason === 'backdrop') {
// do something
}
});

关于javascript - 如何检测 $modal 中模式窗口的关闭? Angular 用户界面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25349080/

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