成功的诺言返回后,我想关闭$mdDialog

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

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


谁能帮我提供功能的任何代码片段,以使我可以关闭对话框
承诺退货后或我想关闭的任何地方

最佳答案

它没有返回到调用$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);
});

07-24 17:32
查看更多