首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >$mdDialog,在取消时传递对象

$mdDialog,在取消时传递对象
EN

Stack Overflow用户
提问于 2018-03-03 15:26:36
回答 1查看 447关注 0票数 3
代码语言:javascript
复制
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被转义和clickOutside关闭时,我需要传递一个对象。

在文档里找不到任何关于它的东西。https://material.angularjs.org/latest/api/service/$mdDialog

这不可能吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-03 16:57:00

无法与这些事件交互,请检查: close events #3893

我的建议是按照kidthis comment中的建议

  1. 创建服务
  2. 调用onRemoving函数上的服务
  3. 保存您在该服务中需要的对象。
  4. 在取消$mdDialog.show承诺回调时,调用服务以获得值。

Check codepen as example

其他选项是使用preserveScope: true并直接修改父级的作用域,并在对话框取消后恢复值。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49085768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档