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
有可能吗
最佳答案
无法与这些事件进行交互,请检查:No way to intercept MdDialog
close events #3893
我的建议是做@camden_kid中的this comment建议
onRemoving
函数$mdDialog.show
promise 回调时,调用服务以获取该值。 Check codepen as example
另一种选择是使用
preserveScope: true
并直接修改父级的作用域,并在取消对话框后恢复该值。关于angularjs - $ mdDialog,在取消时传递对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49085768/