我必须在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