2016-05-18 10 views
1

documentationに続いて作業中のmdダイアログが生成されましたが、機能しないボタンを押してダイアログを表示しました。ダイアログを開いたり閉じたりすると、トリガーボタン(そのコントローラー内のスクリプトを使用するすべてのもの)がその作業をしていないように見えます。MDダイアログコントロール内でMdダイアログの機能不全トリガーボタンがラップされました

ここにはCodePenとコードがあります。

var app = angular.module('app', ['ngMaterial', 'ngAnimate']); 

// Dialog controller 
app.controller('showDialogCtrl', 
    function ($scope, $mdDialog) { 
    // Showing order form dialog 
    $scope.showDialog= function($event){ 
     $mdDialog.show({ 
     targetEvent: $event, 
     clickOutsideToClose: true, 
     scope: $scope, 
     template: 
      '<md-dialog>' + 
      ' <md-dialog-content>Hello!</md-dialog-content>' + 
      ' <md-dialog-actions>' + 
      ' <md-button ng-click="closeDialog()" class="md-primary">' + 
      '  Close' + 
      ' </md-button>' + 
      ' </md-dialog-actions>' + 
      '</md-dialog>', 
     parent: angular.element(document.body), 
     controller: DialogController, 
     }); 
     function DialogController($scope, $mdDialog) { 
     $scope.closeDialog = function() { 
      $mdDialog.hide(); 
     }; 
     }; 
    } 
});  

<md-button ng-controller="showDialogCtrl" ng-click="showDialog($event)"> 
Click 
</md-button> 

答えて

1

あなたがダイアログを閉じたときに自動的に削除されるあなたのダイアログに親$scopeを渡しています。 preserveScope: trueをダイアログ設定に追加すると、ダイアログを閉じると削除されません。

ドキュメント:https://material.angularjs.org/HEAD/api/service/$mdDialog

+1

私たちはコメントに感謝するべきではありません知っているが、彼らは正しい答えを与えた人に感謝するミュート方法を作ることができます。私はより良い気分です。ありがとう! :) –

関連する問題