2016-03-23 20 views
0

私は、コントローラ内の変数を持っている:更新角度材料モーダルUI

$scope.myName = "Jack"; 

私はモーダルを開くためのボタンをng-click=open()を持っています。クリックすると、その変数の名前を変更して、モーダルUIに更新された値を表示します。残念ながら、それは古い値を示しています。

$scope.open = function(){ 
    $scope.myName = "changed"; 

    $mdDialog.show({ 
      templateUrl: '/app/dataModal.html', 
      parent: angular.element(document.body), 
      targetEvent: ev, 
      clickOutsideToClose: true 
     }) 
} 


//dataModal.html 
<md-dialog ng-controller="myCtrl">{{myName}}</md-dialog> 
+0

したがって、 'dialoge'ボックスを使用して' myName'スコープ変数を更新したいとします。右 ? – nextt1

+0

@ nextt1はい...ボタンをクリックすると、その変数を変更して、変更したものを表示したいと思います。varilabe {{myName}} – nyxem1

答えて

1

1)あなたは、ダイアログで入力を使用してスコープ項目に値を変更したい場合は、入力を持つダイアログを処理するために、約束の方法を使用する必要があります。ここの例を確認してください:http://codepen.io/shershen08/pen/aNWBBd

$mdDialog.show(confirm).then(function(result) { 
    $scope. myName = result; 
}, function() { 
    $scope. myName = result; 
}); 

これはないあなたの$scope.open = function(){機能で、それ以外でなければなりません。

2)ダイアログでスコープ値を表示するのみ必要がある場合は、あなたの現在のコードは大丈夫です、あなただけの一致するテンプレートを編集する必要があります。ここでは

//dataModal.html 
<md-dialog>{{myName}}</md-dialog> 

はのためのデモですこの場合:http://codepen.io/shershen08/pen/pyPNaM?editors=1010

+0

ダイアログには入力がありません。それはモーダルUI上にあります。私は$ rootScopeを試しましたが、変数は更新されましたが、モーダルのUIはありません – nyxem1

+0

私は私の答えを更新します。 $ mdDialogをあなたのコントローラに注入しましたか?あなたのコードを使用する際にエラーが発生しましたか? – shershen

+0

はい...私はそうしました、モーダルは開いていますが、更新されたスコープデータを取得していません – nyxem1

関連する問題