2017-01-14 17 views
5

=== nihai güncellenen == kullanarak ngModel dizideki her öğeyi bağlamak nasıl* ngFor indeksi

http://plnkr.co/edit/WKRBB7?p=preview

, ben name attribue eklemelisiniz.

ve benim hatam, adıyla aynı değeri kullandım. Belge değiştirdikten sonra, sorunum çözülüyor. İsimleri [$ index] yerine x.Name ait .Name kullanmamın nedeni

<form #my2form="ngForm"> 
    <table> 
     <tr *ngFor="let staff of staffs;let i = index"> 
     <td><input name="staff.{{i}}.name" [(ngModel)]="staff.name">{{staff.name}}</td> 
     </tr> 
    </table> 
</form> 

üzgün ==========, ben hatırlamıyorum.

belki yıllar önce x.Name kullanarak bir hatayla karşılaştım ve endeks kullanmaya alışkın oldum. Bir satır içi düzenleme tablo, iki yönlü bağlama ihtiyaç

----- güncellenen

---. Başlangıçta sayfalarda
<table> 
    <tr *ngFor="let x of names"> 
    <td><input [(ngModel)]="x.Name">{{x.Name}}</td> 
    </tr> 
</table> 

let names = [ 
{ Name:'jim'}, 
{ Name:'tom'} 
]; 

gösterir:

blank text field; jim 

blank text field; tom 

Ben ilk metin alanına 'aaaaaa' yazdıktan sonra, o olur:

aaaaaa; aaaaaa 

blank text field; tom 

ben sayfa başlangıçta göstermek düşünüyorum:

sorunum Tam olarak neden başlangıç ​​değeri eksik? Eğer o zaman ben öyle düşünmüyorum dizini ihtiyaç döngü * ngFor kullanıyorsanız

+0

Dokümanlar'ı ilk https://angular.io/docs/ts/latest/ –

+0

kontrol edin deneyebilirsiniz '? –

+0

@TamasHegedus işe yaramayabilir (tam olarak emin değil) ama hata mesajlarını hatırlıyorum. [(NgModel)] = "..." 'şablon değişkenleriyle çalışmıyor, ancak bunun yanında iyi bir öneri - kesinlikle Deneyin. –

cevap

2

Bu durumda efendim [ngModel]="..."

<table> 
    <tr *ngFor="let x of names;let i = index;"> 
    <td>{{ i+ 1 }}</td> 
    <td><input [(ngModel)]="names[i].Name">{{x.Name}}</td> 
    </tr> 
</table> 
+0

Teşekkürler @micronyks 2 yollu ciltleme istediğinden emin değildim. 'Ng-model' otomatik olarak iki yönlüdür? Angular1 hakkında fazla bir şey bilmiyorum. –

+1

Evet, varsayılan olarak 'Angular1.x' içinde ve hoş geldiniz! – micronyks

2

olmalıdır. neden sadece x.Name kullanmıyorsun? değiştirilmiş kod burada.

<table> 
     <tr *ngFor="let x of names;let i = index;"> 
     <td>{{ i+ 1 }}</td> 
     <td><input [(ngModel)]="x.Name">{{x.Name}}</td> 
     </tr> 
    </table> 

veya size sadece x.Name `bağlanmaz Neden bu

<table> 
      <tr *ngFor="let x of names;let i = index;"> 
      <td>{{ i+ 1 }}</td> 
      <td><input [value]="x.Name" [(ngModel)]="x.Name">{{x.Name}}</td> 
      </tr> 
     </table> 
İlgili konular