2015-12-21 12 views
8

私のアプリケーションでは$ mdDialogを使用していますが、通常のダイアログではなく「確認」ダイアログとして使用します。これは、ユーザーが確認ダイアログで2つのボタンのいずれかをクリックするまで、コードフローが進まないことを意味します。 $ mdDialog.confirm()を使用できることに気付きましたが、カスタムtemplateUrlとそれに対応するコントローラをダイアログのコンテンツとして使用する方法がわかりません。

以下は、私が書いたものですが、ダイアログについては問題なく動作しますが、ダイアログが開いた後もコードフローは停止しません。 OKまたはCancelがクリックされるまで停止する必要があります。

$mdDialog.show({ 
     controller: 'incomingCallDialogController', 
     templateUrl: 'app/components/others/incomingCallDialog/incomingCallDialog.tpl.html', 
     locals: {message: message}, 
     parent: angular.element(document.body) 
    }).then(function (answer) { 
     console.log("here"); 
    } 
+0

これは '$ mdDialog'のコードですが、通常は' then'コールバック関数内でコードを実行する必要があります –

答えて

9

基本的に、それはのようになります。

var confirm = $mdDialog.confirm({ 
     controller: 'incomingCallDialogController', 
     templateUrl: 'app/components/others/incomingCallDialog/incomingCallDialog.tpl.html', 
     locals: {message: message}, 
     parent: angular.element(document.body) 
    }) 
    $mdDialog.show(confirm).then(function() { 
     console.log("here"); 
    } 

ここcodepenです。

+1

あなたのコードは同じことをします –

+0

いいえ。正常に動作します。 codepenが追加されました。 – Daniel

+0

コードコーンが完成しました –