我正在尝试为项目中的所有UI模式触发事件,我希望在任何UI模式打开或关闭时触发事件?
示例:
anymodal.opened.then(function() {});
答案 0 :(得分:4)
取自文档(版本2.1.4)
open方法返回一个模态实例,一个具有以下属性的对象:
close(result)(类型:function) - 可用于关闭模态,传递结果。
dismiss(reason)(类型:function) - 可用于解散模态,传递理由。
result(Type:promise) - 在关闭模态时解决,在解除模态时拒绝。
打开(类型:承诺) - 在下载内容模板并解析所有变量后打开模态时解决。
关闭(类型:保证) - 在关闭模态并完成动画时解析。
rendered(Type:promise) - 在渲染模态时解析。
你要找的是最后三个。
通常使用模态实例
来使用它们var modalInstance = $uibModal.open({
// define you modal here ...
});
modalInstance.result.then(function(selectedItem) {
$ctrl.selected = selectedItem;
}, function() {
$log.info('Modal dismissed at: ' + new Date());
});
modalInstance.opened.then(function() {
console.log("modal opened");
})
modalInstance.closed.then(function() {
console.log("modal closed");
})
modalInstance.rendered.then(function() {
console.log("modal rendered");
})