我有一個使用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