2017-11-28 3 views
0

$ mdDialog.showは、showアクションが完了するとトリガーされるonComplete関数を受け入れます。 https://material.angularjs.org/latest/api/service/ $ mdDialog#showを参照してください。ダイアログコントローラ内からmd-dialog onCompleteにアクセスするにはどうしたらいいですか?

どのようにして同じダイアログを呼び出す親コントローラではなく、ダイアログコントローラ内から同じonComplete機能を取得できますか?ダイアログのコントローラ内の

var onCompleteDeferred = $q.defer(); 
$mdDialog.show({ 
    templateUrl: '/app/dialog.html', 
    controller: 'dialogController', 
    onComplete: onCompleteDeferred.resolve, 
    locals: { 
     loadingPromise: function() { 
      return onCompleteDeferred.promise; 
     }, 
     success: function() {} 
    } 
}) 

:親コントローラから

+0

あなたが達成するために何を必要としていますか? – charlietfl

+0

フォーカスを設定しますが、ダイアログコントローラ(親コントローラではありません)で処理します。 – CamHart

+0

簡単な回避策...ブロードキャストするイベント – charlietfl

答えて

0

myApp.controllers.controller("dialogController", [ 
    "success", 
    "loadingPromise", 
    function (
     success, 
     loadingPromise 
    ){ 
     loadingPromise().then(function() { 
      //everything in here is guaranteed to be ran AFTER the dialog has been opened 
     }); 
    } 
) 
関連する問題