我怎样才能关闭打开的 mdDialogs 之一? AngularJs

How can I close just the one of the opened mdDialogs? AngularJs

我的应用程序中有 3 个打开的 mdDialogs(未嵌套在控制器中),其中 2 个将键 'multiple' 设置为 true,因此它们不会相互关闭。当我在其中一个调用 mdDialog.close() 或 mdDialog.hide() 时,两个子对话框都会隐藏。有什么办法可以一一关闭它们吗? [关闭]

查看 "custom preset" 部分及下方,https://material.angularjs.org/latest/api/service/$mdDialog。您需要通过调用

创建一个实例对象
myPrompt = $mdDialog.prompt();

myPrompt = $mdDialog.confirm(); 

或创建自定义预设,然后在显示或关闭时使用该实例:

$mdDialog.show(myPrompt);
$mdDialog.close(myPrompt);

这是页面的一部分:

// Dialog #1 - Show simple alert dialog and cache
// reference to dialog instance

function showAlert() {
  alert = $mdDialog.alert()
    .title('Attention, ' + $scope.userName)
    .textContent('This is an example of how easy dialogs can be!')
    .ok('Close');

  $mdDialog
      .show( alert )
      .finally(function() {
        alert = undefined;
      });
}
$mdDialog.show({
  templateUrl: 'dialog.html',
  controller: 'DialogCtrl',
  skipHide:true
})

这对我有用。我正在使用 angularjs-material 1.1.0-rc5

实际上是一个愚蠢的错误伙计们.. 如果我们只是 运行 $mdDialog.hide(),那么在每个 child 的 'multiple' 设置为 true 的堆叠对话框中就足够了.在我的问题上,问题是我错误地调用了 2 个隐藏函数,结果我关闭了两个对话框。我的问题是不必要的,但对新手可能有用。