2

Ich habe ein seltsames Problem mit meinem ng-Repeat-Array.Angular js: ng-Modell ist über das Schreiben der Elemente in der ng-Wiederholung

Momentan lese ich ein Array mit ng-repeat und eine Bearbeitungsschaltfläche wird platziert, um das bestimmte Element zu bearbeiten und in der Datenbank zu speichern.

Aber das Problem ist, wenn die bestimmte in der Textbox geändert wird die ng-repeat Elemente werden ebenfalls geändert. Hier

ist die Geige meines Ausgabe

https://plnkr.co/edit/D5NQitsRg7sCfZBE9IaB?p=preview

Ändern Sie den Wert in Textfeld wird es auch die Werte beeinflussen in ng-repeat

+0

@Sajeetharan meine Geige überprüfen Sie die Ausgabe – Jabaa

Antwort

5

Sie die Referenz der Variablen zuweisen, deshalb seine Wechsel. Sie müssen die Variable kopieren. unten arbeitet Beispiel: -

var app = angular.module("myApp", []); 
 
app.controller("myCtrl", function($scope) { 
 
    
 
    $scope.items= [ 
 
     {id:1,name:'first'},{id:2,name:'second'} 
 
    ]; 
 
    
 
    $scope.editItem = function(index){ 
 
    //edit 
 
     $scope.edit = angular.copy($scope.items[index]); 
 
     
 
    } 
 
});
<!DOCTYPE html> 
 
<html> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script> 
 
<body> 
 

 
<div ng-app="myApp" ng-controller="myCtrl"> 
 
    
 
    <p ng-repeat="item in items">{{item.id+','+item.name}} 
 
    
 
    <span ng-click="editItem($index)">Click to Edit {{item.name}} item</span> 
 
    </p> 
 
    
 
    
 
    <h2>Edit</h2> 
 
    <input type="text" ng-model="edit.name" /> 
 
</div>

+0

Dank dafür bekommen, das Problem zeigt feine es funktioniert jetzt – Jabaa

+0

@Jabaa froh, dass ich :-) –

+1

Need helfen könnte 8 Minuten warten, um den Antwort zu akzeptieren :) – Jabaa

Verwandte Themen