Angular Material$mdDialog.confirm;OK”;以及“;取消“;选项
Angular Material $mdDialog.confirm with more than "OK" and "Cancel" options
我必须在Angular Material中构建一个$mdDialog窗口,以便用户可以从不同的操作中进行选择。根据所选操作,应用程序将生成新报告或加载现有报告,或者完全取消对话框。问题是,如果你查看Angular Material网站上的文档,confirm$mdDialog中只内置了.ok选项和.cancel选项(我附上了一个带有该网站演示代码片段的打印屏幕)。
$mdDialog确认演示代码
所以现在我的问题是:如何将多个操作选项添加到$mdDialog窗口中。此外,如何将功能与控制器中的这些选项联系起来?例如,如果选择"生成新报告",则某个服务将被激发,但如果选择"显示上一个报告",将激发另一个服务。如果这是一个初学者的问题,很抱歉,但我觉得我再次没有完全掌握在这种情况下应用的正确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
@Aseem,很抱歉复制您的代码以获得答案,但我无法在评论中做到这一点。
Aseem的回答缺少一点。如果向then函数添加参数,它将收到用户单击的按钮的标题。因此,如果我们将其修改为:
var confirm = $mdDialog.confirm({
controller: DialogController,
templateUrl: 'dialog1.tmpl.html',
parent: angular.element(document.body),
targetEvent: ev,
})
$mdDialog.show(confirm).then(function(answer) {
$scope.status = answer;
$scope.codeRunningBeforeResolve = 'code only runs after resolve';
});
您可以看到如何处理多个按钮并获得除"确定"或"取消"以外的响应。
相关文章:
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- jquery点击函数select&取消选择
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- 使用Jquery选择或取消选择ListView中的所有复选框
- 是“;x==a||b”;以及“;x==a||x==b”;JavaScript中的等效语句
- 使用jquery选中/取消选中单个复选框
- 使用javascript取消隐藏和隐藏表单中的某些元素
- 如何销毁/删除/取消绑定SnapSVG.js
- 滚动然后捕捉到顶部而不是取消捕捉
- 为什么要对define.md和module.exports进行条件检查,以及条件何时通过
- 取消绑定主干视图事件
- 如何取消object.prototypes javascript的一个函数
- 使用javascript在页面加载时取消选中所有复选框
- 删除“;上一个“;以及“;下一个“;基于当前幻灯片
- Angular Material$mdDialog.confirm;OK”;以及“;取消“;选项
- 如何制作整行以及其中的复选框,当我在表格行内单击时单击和取消单击
- jQuery bind()取消绑定()以及on()和off()
- 如何在选中单选按钮时取消选中复选框,以及在选中复选框时取消选中单选按钮使用Javascript
- 异步发布这些数据以及取消/排队新请求的正确方法是什么?