this.$mdDialog.show({
controllerAs: 'ctrl',
resolve: {
product: product
},
controller:($mdDialog, product) => {
close() => {
$mdDialog.hide({productToUpdate: product}
}
},
templateUrl: 'product-dialog.tmpl.html',
parent: angular.element(document.body),
clickOutsideToClose: true,
}).then(productToUpdateOrDelete => { // on hide
cb(productToUpdateOrDelete);
}, () => { // on clickoutside or escape
// Need to run my cb() here with the modified product
});
}
当$ mdDialog被escape和clickOutside关闭时,我需要传递一个对象。
在文档中找不到任何相关内容。 https://material.angularjs.org/latest/api/service/ $ mdDialog
不可能吗?
答案 0 :(得分:2)
无法与这些事件互动,请查看:No way to intercept MdDialog
close events #3893
我的推荐是执行@camden_kid
中this comment建议的内容onRemoving
功能$mdDialog.show
承诺回调时,请致电服务以获取值。其他选项是使用preserveScope: true
并直接修改父级的范围,并在取消对话框后恢复该值。