在模式关闭后捕获 Angular 引导 UI $uibModal关闭事件
catching Angular Bootstrap UI $uibModal closed event after the modal was closed
我正在使用另一个控制器的 $uibModal.open 打开一个模态窗口,并且需要在模态窗口完全关闭时收到通知(而不是在关闭期间......),以便我能够运行一个函数。
打开模式的代码如下所示:
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
方法的众多属性之一。
我测试了它,它仅在模态关闭后显示警报,而不是在"关闭"时显示警报。
请参阅此处退货部分下的"已关闭"
var modalInstance = $uibModal.open({
templateUrl: "myModalContent.html",
controller: "termModalCtrl",
windowClass: 'app-modal-window',
resolve: {
'params': function () { return id }
}
}).closed.then(function(){
window.alert('Modal closed');
});
这是普伦克 http://plnkr.co/edit/yB3k8e3R3ZLQFQ6sfLYW?p=preview
使用 promise 第二次回调modalInstance.result
捕获收盘事件。我还收到异常"无法获取未定义或空引用的属性'然后'".closed.then
,
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');
});
相关文章:
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- jQuery UI自动完成突然停止工作
- 如何使用skip参数使用angular ui引导进行服务器端分页
- AngularJS UI路由器不能像ng路由器那样工作
- 我可以更改剑道UI网格吗's的外键值
- 剑道UI内联编辑:如何在点击其他按钮时隐藏按钮
- Rails/JSON:如何将JSON用于jquery UI自动完成表单
- 停止jQuery UI滑块移动超过给定值
- 混合 ui-sref 和 $state.go 在 Angular ui-router 中进行状态转换
- Jquery UI自动完成无法工作
- 语义ui如何使用javascript启用或禁用下拉列表
- jquery ui滑块上的滑块值
- jQuery UI可排序-多连接列表拖动
- 如何在Angular UI网格中选择下一行
- 对具有ui typeahead的对象中的值执行orderBy
- AngularJS ui路由器html5模式中断路由
- EJS中的Angularjs-Ui路由器参数
- 如何将动态模板加载到$uibModal.open()(Angular UI引导程序)中
- 如何从ui bootstrap's uibModal.open设置组件输出绑定
- 在模式关闭后捕获 Angular 引导 UI $uibModal关闭事件