$ mdDialogスタック/ネストされたダイアログ、それは可能ですか?



Mddialog Stacked Nested Dialogs



解決:

更新:@Magnusに従って、次のように更新されましたv1.1.2の時点で複数


追加skipHide:2番目のダイアログのオプションオブジェクトに当てはまります。



これは私のために働きます:http://webiks.com/mddialog-with-a-confirmation-dialog/


Gabriel Anzaldo Alvaradoが私の意見で正しい答えを出しました、正しい答えはPlunkerリンクで共有されています。しかし、多くのユーザーの要望に応じて、将来リンクが利用できなくなった場合に備えて、実際のコードを追加しています。



基本的に、を使用してダイアログを開いている間.show({})関数、オプションを追加skipHide:true。

HTML

ダイアログを開く

JavaScript



(function(){'use strict'; angle .module( 'MyApp'、['ngMaterial'])。controller( 'AppCtrl'、function($ interval、$ mdDialog){var vm = this; vm.moreInfo = function moreInfo(thing){$ mdDialog.show({controllerAs: 'dialogCtrl'、clickOutsideToClose:true、bindToController:true、controller:function($ mdDialog){this.click = function click(){$ mdDialog.show({controllerAs: 'dialogCtrl'、controller:function($ mdDialog){this.click = function(){$ mdDialog.hide();}}、preserveScope:true、autoWrap:true、skipHide:true、template: '私は2番目にいますdialog! '})}}、autoWrap:false、template:'私はダイアログにいます! '、locals:{thing:thing}})}});})();

上記のコードは私のために働いた。

別の回答でVincenzoが指摘しているように、mdDialogをスタックしている間、下のダイアログはグレー表示されません。それを解決するためのCSSトリックがあります:https://stackoverflow.com/a/38013682/366662

アップデート

この回答はバージョン1.1.1で機能し、バージョン1.1.2からマテリアルチームはプロパティをから変更しましたskipHide to多数。したがって、スニペットをコピーして貼り付けるときは注意してください。マテリアルのバージョンを確認し、それに応じて正しいプロパティを使用してください。


いいえ、現時点では複数持つことはできません$ mdDialog。正直なところ、私は本当にこの機能が必要であり、それを機能させるために試しましたが、今のところ成功していません。将来のリリースでこの機能が許可されることを期待しましょう。
ここで議論がありますが、そこで役立つものを見つけることができます。

注:これは、回答された期間とは対照的に、もはや正解ではありません。その他の回答については、以下を参照してください。