我有一个使用 Angular Material UI 框架的 AngularJS 应用程序。
该应用程序有不同的机制显示对话框(例如错误和加载微调器),最好只关闭在某些情况下特别选择的一个,例如当 AJAX 请求完成获取数据时,我希望我的加载微调器关闭,但不是可能是获取结果的任何错误对话框。
我在文档和代码中可以找到的内容不一致(尽管代码应该赢得争论):
我已经做了一个我的意图的演示,尽可能MCV - 这些是亮点:
var dialog = {},
promise = {};
function showDialogs(sourceEvent) {
showDialog(sourceEvent, "one");
showDialog(sourceEvent, "two");
}
function showDialog(sourceEvent, id) {
dialog[id] = $mdDialog.alert({...});
promise[id] = $mdDialog.show(dialog[id]);
promise[id].finally(function() {
dialog[id] = undefined;
});
}
function closeDialogs() {
$mdDialog.hide("Closed all for a reason", {closeAll: true});
}
function closeDialogLatest() {
$mdDialog.hide("Closed from the outside");
}
function closeDialogReason() {
$mdDialog.hide("Closed with a reason");
}
function closeDialogSpecific(id) {
$mdDialog.hide(dialog[id], "finished");
}
编辑:
我知道代码总是赢得关于发生了什么的争论,但我不完全确定这是我正在查看的正确代码。
我更新了示例以更好地测试和说明我的观点和问题。这显示了代码所说的事情。
我真正在寻找的是,是否仍有可能以我还没有想到的其他方式实现我的目标。