我必须在Angular Material中构建一个$ mdDialog窗口,以便用户可以从不同的 Action 中进行选择。根据选定的操作,该应用程序将生成新报告或加载现有报告,或者完全取消该对话框。问题是,如果您查看Angular Material网站上的文档,则确认$ mdDialog中仅内置了.ok选项和.cancel选项(我在打印屏幕上附加了该网站的演示代码片段)。

$mdDialog confirm demo code

所以现在我的问题是:如何在$ mdDialog窗口中添加多个操作选项。另外,如何将功能绑定(bind)到 Controller 中的那些选项?例如,如果您选择“生成新报告”,则将触发某个服务,但是如果您选择“向我显示以前的报告”,则将触发另一个服务。
抱歉,这是一个初学者的问题,但是我感觉我还是没有完全掌握要在这种情况下应用的正确AngularJS逻辑。

最佳答案

您可以将自定义模板用于确认对话框。

var confirm = $mdDialog.confirm({
      controller: DialogController,
      templateUrl: 'dialog1.tmpl.html',
      parent: angular.element(document.body),
      targetEvent: ev,
    })
    $mdDialog.show(confirm).then(function() {
      $scope.status = 'Confirm resolved';
      $scope.codeRunningBeforeResolve = 'code only runs after resolve';
    });

Codepen

10-07 21:57