我在应用程序中使用$ mdDialog,但想将其用作“确认”对话框而不是普通对话框。这意味着,在用户单击“确认”对话框中的两个按钮之一之前,不应继续执行代码流。我注意到可以使用$ mdDialog.confirm(),但是我不确定如何将其与自定义templateUrl和相应的 Controller 一起用作对话框的内容。

以下是我所写的内容,就对话框而言,它可以正常工作,但是在打开对话框之后,代码流不会停止。它应该停止,直到用户单击“确定”或“取消”为止。

$mdDialog.show({
      controller: 'incomingCallDialogController',
      templateUrl: 'app/components/others/incomingCallDialog/incomingCallDialog.tpl.html',
      locals: {message: message},
      parent: angular.element(document.body)
   }).then(function (answer) {
      console.log("here");
   }

最佳答案

基本上是这样的:

var confirm = $mdDialog.confirm({
      controller: 'incomingCallDialogController',
      templateUrl: 'app/components/others/incomingCallDialog/incomingCallDialog.tpl.html',
      locals: {message: message},
      parent: angular.element(document.body)
   })
   $mdDialog.show(confirm).then(function() {
      console.log("here");
   }

这是codepen

10-04 22:11