2016-03-23 18 views
0

Ich habe eine Variable in der Steuerung:aktualisiert Winkelmaterial Modal UI

$scope.myName = "Jack"; 

Ich habe ein ng-click=open() auf einem Knopf ein modalen zu öffnen. Bei einem Klick möchte ich den Namen dieser Variablen ändern und den aktualisierten Wert in der modalen Benutzeroberfläche anzeigen. Leider zeigt es den alten Wert an.

$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

Sie möchten also die Bereichsvariable 'myName' über das Feld' dialoge' aktualisieren. Recht ? – nextt1

+0

@ nextt1 ja ... beim Klicken auf die Schaltfläche möchte ich diese Variable ändern und dann das Modal öffnen und die geänderte Variable anzeigen. {{MeinName}} – nyxem1

Antwort

1

1) Wenn Sie den Bereich Artikel Wert ändern möchten, indem Sie die Eingabe im Dialog dann verwenden, sollten Sie das Versprechen Art und Weise verwenden Dialog zu behandeln, die einen Eingang hat. Überprüfen Sie das Beispiel hier: http://codepen.io/shershen08/pen/aNWBBd.

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

Dies sollte außerhalb der es nicht in Ihrem $scope.open = function(){ Funktion sein, aber.

2) Wenn Sie nur den Umfang Wert im Dialog angezeigt wird, dann aktuelle Code ist ok, man muss nur die Vorlage bearbeiten anzupassen:

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

Hier ist die Demo für In diesem Fall: http://codepen.io/shershen08/pen/pyPNaM?editors=1010

+0

Es gibt keine Eingabe im Dialog, beim Klicken einfach die Variable ändern und anzeigen es auf dem modalen UI. Ich habe versucht, $ rootScope, die Variable aktualisiert wird, aber nicht die Benutzeroberfläche auf dem modalen – nyxem1

+0

Ich sehe, ich werde meine Antwort aktualisieren. Haben Sie $ mdDialog in Ihren Controller injiziert? Haben Sie Fehler bei der Verwendung Ihres Codes erhalten? – shershen

+0

ja ... ich habe das, Modal öffnet, aber nicht die aktualisierten Daten des Bereichs erhalten – nyxem1