2016-12-17 23 views
6

Làm thế nào để sử dụng các biến động trong ngModel?Góc 2 - Biến động trong ngModel

Tôi cố gắng để sử dụng mã dưới đây nhưng các lỗi sau xuất hiện:

<div *ngFor="let num of ['1','2','3']; let i=index"> 
    <input id="qtd{{num}}" [(ngModel)]="qtd{{num}}" type="text"/> 
</div> 

Erro

Unhandled Promise rejection: Template parse errors: Parser Error: Got interpolation ({{}})

+1

Sử dụng một mảng và sử dụng 'qtd [num]'. –

+0

Bạn có thể đưa ra một ví dụ không? – rafaelcb21

Trả lời

14

Xác định mảng trong thành phần và tiếp tục đẩy trong đó.

export class AppComponent { 
    qtd:any[] = {}; 
} 

Sau đó, cập nhật mẫu của bạn như

<div *ngFor="let num of ['1','2','3']; let i=index"> 
    <input id="qtd{{num}}" [(ngModel)]="qtd[num]" type="text"/> 
</div> 

{{ qtd | json}} 

Trong tất cả các mô hình động của bạn sẽ được ở QTD mảng

Plunker

Hy vọng rằng sẽ giúp!

+0

nó hoạt động rất tốt! Cảm ơn bạn! Tôi đã tìm kiếm câu trả lời đúng cho một vài giờ! Cảm ơn! :) –

7

Hãy nói rằng bạn có các thành phần sau đây

export class AppComponent { 
    qtd1 = 'qtd1'; 
    qtd2 = 'qtd2'; 
    qtd3 = 'qtd3'; 
} 

Sau đó, mẫu của bạn có thể trông giống như:

<div *ngFor="let num of ['1','2','3']; let i=index"> 
    <input id="qtd{{num}}" [(ngModel)]="this['qtd' + num]" type="text"/> 
</div> 

Plunker Example

Các vấn đề liên quan