我有一个使用Angular Material UI框架的AngularJS应用程序。使用角度材质,是否可以关闭特定对话框
该应用程序具有显示对话框(例如错误和加载旋转器)不同的机制,这将是优选的在某些情况下专门选择仅靠近之一,例如当一个AJAX请求完成获取数据时,我希望我的加载微调器关闭,但不会有任何错误对话框,这可能是抓取的结果。
我可以在文档中找到和代码不同意(尽管代码应该赢得争论):
- Documentation只有最新的说
- The code说,可以关闭,使用可选的响应最新的,一些最新的或所有打开的,可以关闭,可选原因
- Example in the documentation说具体的对话可以关闭,用的标记,表示如何或为何
我已经做了demo of my intent,作为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");
}
编辑:
我知道代码总是赢会发生什么的说法,但我不能完全肯定这是我正在看的正确的代码。
我已经更新了示例以更好地测试和说明我的观点和问题。这显示了代码所说的工作。
我真正追求的是它是否可能仍然是可能实现我在我没想到的一些其它方式的目标。
可能文档是错的或太旧。文档可以说任何作者想要的。如果守则说这是不可能的,那么它实际上是不可能的。对不起。 – RicoBrassers
我知道代码是重要的,但我并不完全确定这是我正在查看的正确代码。也就是说,我所做的例子表明事情要按照代码说的去工作,但仍然有可能以其他方式实现我的目标,但我还没有想到。 – Flygenring