【问题标题】:$mdDialog closing using a function$mdDialog 使用函数关闭
【发布时间】:2020-04-04 16:46:10
【问题描述】:

我想在承诺返回成功后关闭$mdDialog

我可以像下面的代码一样关闭 $mdDialog,但这并不能满足我的需要

vm.$mdDialog.show({
    controller: 'myController',
    templateUrl: 'myfile.html',
    clickOutsideToClose: true, 
    controllerAs: "vm",
    locals: {
    }
});

谁能帮我提供一个函数的任何代码sn-p,我可以用它来关闭对话框 在承诺返回或我想关闭它的任何地方之后

【问题讨论】:

  • 你试过$mdDialog.hide()吗?
  • 使用它没有返回到调用 $mdDialog 的母控制器

标签: javascript angularjs angularjs-material


【解决方案1】:

它没有返回到调用 $mdDialog 的母控制器

$mdDialog.show() 方法返回一个承诺,该承诺使用提供给$mdDialog.hide() 方法的数据或承诺进行解析:

var promise = vm.$mdDialog.show({
    controller: 'myController',
    templateUrl: 'myfile.html',
    clickOutsideToClose: true, 
    controllerAs: "vm",
    locals: {
    }
});

promise.then(function(data) {
    console.log(data);
}).catch(function(reason) {
    console.log("Cancelled", reason);
});

用法:

$http.get(url).then(function(response) {
    $mdDialog.hide(response.data);
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-06
    • 1970-01-01
    相关资源
    最近更新 更多