Javascript 在模式关闭后捕获角度引导UI$uibModal closed事件
我正在从另一个控制器使用$uibModal.open打开一个模式窗口,并且需要在模式窗口完全关闭时得到通知(而不是在关闭期间…),以便我能够运行一个函数 打开模式的代码如下所示:Javascript 在模式关闭后捕获角度引导UI$uibModal closed事件,javascript,angularjs,modal-dialog,angular-ui-bootstrap,angular-ui-modal,Javascript,Angularjs,Modal Dialog,Angular Ui Bootstrap,Angular Ui Modal,我正在从另一个控制器使用$uibModal.open打开一个模式窗口,并且需要在模式窗口完全关闭时得到通知(而不是在关闭期间…),以便我能够运行一个函数 打开模式的代码如下所示: var modalInstance = $uibModal.open({ templateUrl: "myModalContent.html", controller: "termModalCtrl", windowClass: 'app-modal-window', resolve: { 'p
var modalInstance = $uibModal.open({
templateUrl: "myModalContent.html",
controller: "termModalCtrl",
windowClass: 'app-modal-window',
resolve: {
'params': function () { return id }
}
});
我看到了一些建议使用的解决方案:
modalInstance.result.then(function(result) {
});
问题是函数回调在模态窗口实际关闭之前调用(当模态窗口仍然打开时),这不是我想要的行为,因为这意味着它捕获的是模态窗口的“关闭”事件,而不是“关闭”事件
有没有一种简洁的方法来实现这一点?如果不是的话,我会感到惊讶,因为这种行为在这个星球上的任何UI框架中都很常见
请帮忙 试试这个
.open
方法返回可以与.closed
链接的承诺,这是.open
方法的许多属性之一
我测试了它,它只在模式关闭后显示警报,而不是在“关闭”时显示警报
请参阅返回部分下的“关闭”
这是plunker使用
modalInstance.result
promise第二次回调来捕获关闭事件。
我还在上得到异常“无法获取属性”,然后是“未定义或空引用”。已关闭。然后是
var modalInstance = $uibModal.open({
templateUrl: "myModalContent.html",
controller: "termModalCtrl",
windowClass: 'app-modal-window',
resolve: {
'params': function () { return id }
}
});
modalInstance.result
.then(function (selectedItem) {
//
}, function () {
//close callback
console.info('modal closed');
});
我尝试了您的解决方案,但它不起作用-我遇到了一个异常“无法获取未定义或空引用的属性'then'。对于open方法返回的承诺,属性“closed”似乎没有定义……不。删除modalInstance.result。然后。。。要使其工作,我们必须使用$uibModalInstance.close('cancel')关闭弹出窗口;但不使用disclose函数。
var modalInstance = $uibModal.open({
templateUrl: "myModalContent.html",
controller: "termModalCtrl",
windowClass: 'app-modal-window',
resolve: {
'params': function () { return id }
}
});
modalInstance.result
.then(function (selectedItem) {
//
}, function () {
//close callback
console.info('modal closed');
});