Ich habe versucht, eine einfache Aufgabe zu tun, eine Eingabe in Textbox und die Auflistung derselben. Der Beispielcode ist unten: beispiel.html:ngFor mit JSON-Objekt - Angular 2 ngmodel Perspektive
<label>Name:</label>
<input type="text" [(ngModel)]="user.name" placeholder="Enter a name here">
<!-- conditionally display `yourName` -->
<button (click)="getData(user)">Add</button>
<hr>
<ul>
<li *ngFor="let rec of record">{{rec.name}}</li>
</ul>
Und Code in example.ts unter:
record:any[]=[];
user={"name":""};
getData(username:any){
this.record.push(username);
console.log(JSON.stringify(this.record));
}
Th Problem, das ich konfrontiert ist, wenn ich den zweiten Eingang einfügen, auch die erste Eingabe ändert sich als zweite, da beide auf dasselbe ngModel verweisen. Wenn ich zum Beispiel "GG" als Eingabe hinzufüge, ist der erste Eintrag GG. Wenn ich "HH" eintrage, dann nehme zuerst GG auf HH auf und das Ergebnis ist HH und HH. Bitte helfen Sie mir zu verstehen, wo ich falsch gelaufen bin und helfen Sie, dies zu lösen.
Können Sie vollständigen Code hinzufügen, wie Sie weitere Eingaben hinzufügen? Es gibt https://angular.io/guide/reactive-forms mit einer Beschreibung, wie Array of FormGroups hinzugefügt werden kann. –
@AntonM. Ich füge einen einzelnen Namen in das Eingabefeld ein. Beim Klicken auf Hinzufügen wird es an die Liste übergeben. Im selben Eingabefeld füge ich noch eine weitere Eingabe hinzu. – Gayathri