zwei-Wege-Bindung funktioniert nicht mit ng-repeat

Habe ich eine einfache ng-repeat-Liste, in die ich mich zuordnen aktuelle Listenelement mit dem Wert einer anderen Eigenschaft auf dem controller wie folgt:

  <li ng-repeat="num in list">
    <input type="text" ng-init="value = num" ng-model="value" />
    <button type="button" class="btn btn-primary" ng-click="save()">Save</button>
  </li>

Aber wenn ich auf den Speichern-button, den ich erhalten default-Wert für $Umfang.Wert. Ich erwarte, dass der Wert für die insbesondere die Eingabe von text angezeigt werden.

Hier ist der controller:

 angular.module('myApp', [])
    .controller('MyController', function($scope){
      $scope.value = false;
      $scope.list = [0, 1, 2, 3, 4];

      $scope.save = function() {
         alert($scope.value);
      }
    });

Wie kann ich den Zugriff auf die aktualisierten Wert von einem input-Element in meinem controller auf "speichern" - Funktion aufrufen.

Hier ist die plunker für das gleiche: plnkr

Update: ich gehe davon aus, dass der Wert geholt werden, um controller, ohne es als parameter übergeben.

  • ngRepeat Ihren eigenen Bereich erstellt.
  • Okay, so, wie Sie den Wert abrufen.
  • Sie können pass " - Wert zu speichern-Funktion, wie ng-click="save(value)" übernehmen Sie die parameter und führen Sie dann die operation
  • Ich kann das tun, aber dass trotzt der zwei-Wege-Bindung Zweck.
  • dann nutzen Sie ng-model="$parent.value"
  • Ihre plunkeris nicht aktualisiert

InformationsquelleAutor jsbisht | 2015-03-25
Schreibe einen Kommentar