角度素材UIフレームワークを使用するAngularJSアプリがあります。角度素材を使用すると、特定のダイアログを閉じることができます
アプリにはダイアログ(例:エラーとローディングスピナー)を示すさまざまなメカニズムがあり、特定のシナリオで特に選択されたものを閉じることが望ましいでしょう。 AJAXリクエストのデータ取得が終了したら、ローディングスピナーを閉じるが、フェッチの結果である可能性のあるエラーダイアログは表示されません。
私はドキュメントで見つけることができますし、コードが(コードは、引数に勝つ必要がありますが)一致しないもの:
- Documentationが
- The codeは言うオプションの応答で、閉じることができる唯一の最新語ります最新のオープン最新または全ての数は、オプションの理由
- Example in the documentationで、閉じることができ、特定のダイアログがどのようにか、なぜ
私はできるだけMCVとして、demo of my intentをしたこれらのハイライトです:
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");
}
EDIT:
私は、コードは常に何が起こるかについての議論を勝利知っているが、私は完全に確認されませんでしたそれは私が見ていた正しいコードでした。
私は、より良いテストと私のポイントと問題を説明するための例を更新しました。これはコードが言ったように働くことを示しています。
私が本当に探しているのは、私がまだ考えていない他の方法で目標を達成することがまだ可能かもしれないかどうかということです。
おそらくドキュメントが間違っているか、古すぎます。ドキュメンテーションは、著者が何を望んでいても言うことができます。もしコードが不可能であると言えば、実際には不可能です。ごめんなさい。 – RicoBrassers
私はコードが重要であることを知っていますが、私はそれが私が見ている正しいコードであることを完全には確信していませんでした。それはコードが言ったように私が作った例がうまくいくことを示したが、私がまだ考えていない何か他の方法で私の目標を達成することはまだ可能かもしれない。 – Flygenring