2017-01-28 6 views
1
<tr *ngFor="let p of personen; let i=index"> 
      <td> <input [(ngModel)]="p.Vorname" name="p.Vorname" type="text" class="form-control" required ></td> 
      <td> <input [(ngModel)]="p.Nachname" name="p.Nachname" type="text" class="form-control" required ></td> 
      <td> <input [(ngModel)]="p.Geburtsdatum" name="p.Geburtsdatum" type="date" class="form-control" required ></td> 
      <button (click)="premove(i)" type="button" class="btn btn-danger">Entfernen</button> 
     </tr> 

Если добавить новый элемент сDatabinding ngFor * вход в таблице не работает, как ожидалось

this.personen.push(new Person()) 

данных в моем массиве «Personen» в порядке, но мои поля ввода на моей странице показанный как пустой.

+0

Любая ошибка в браузере consoleß –

+0

нет, нет никакой ошибки. – user7482814

ответ

1

Обеспечить name свойство является уникальным:

<tr *ngFor="let p of personen; let i=index"> 
     <td> <input [(ngModel)]="p.Vorname" name="Vorname{{i}}" type="text" class="form-control" required ></td> 
     <td> <input [(ngModel)]="p.Nachname" name="Nachname{{i}}" type="text" class="form-control" required ></td> 
     <td> <input [(ngModel)]="p.Geburtsdatum" name="Geburtsdatum{{i}}" type="date" class="form-control" required ></td> 
     <button (click)="premove(i)" type="button" class="btn btn-danger">Entfernen</button> 
    </tr> 
+0

Это не помогает - такое же поведение. – user7482814

+0

Я обновил свой ответ. Я думаю, что это свойство имени. У вас не может быть нескольких входов с одинаковым именем. –

+0

Дальнейшие исследования: объекты на странице кажутся «одинаковыми». Я добавил два класса (ng-valid и ng-invalid), и я вижу, что все элементы в одном столбце имеют один и тот же класс. ng-reflection-name - то же самое. Я думаю, что это проблема. «personen [i] .Vorname» является статическим и не вычисляется как «personen [0] .Vorname», «personen [1] .Vorname» и т. д. – user7482814