2016-09-21 22 views
6

Có thể tạo các trường nhập bằng ngFor trong mẫu được định dạng mẫu và sử dụng cái gì đó như # name = "ngModel" để có thể sử dụng name.valid trong thẻ khác không?Hình thức định dạng mẫu 2 góc với đầu vào ngFor

Hiện tại chúng tôi có danh sách động các sản phẩm có trường số lượng và nút thêm vào giỏ hàng trong bảng. Tôi muốn tạo toàn bộ nội dung một biểu mẫu có nút thêm tất cả ở cuối như sau:

<form #form="ngForm"> 
    <div *ngFor="item in items"> 
     <input name="product-{{item.id}}" 
       [(ngModel)]="item.qty" 
       #????="ngModel" 
       validateQuantity> 
     <button (click)="addItemToCart(item)" 
       [disabled]="!????.valid">Add to cart</button> 
    </div> 
    <button (click)="addAll()" 
      [disabled]="!form.valid">Add all</button> 
</form> 

Nhưng làm cách nào tôi có thể tạo tên biến mới trên mỗi hàng cho ngModel?

Trả lời

15

Không cần cho điều này, chỉ làm điều đó như thế này: một phần

<form #form="ngForm"> 
    <div *ngFor="item in items"> 
     <input name="product-{{item.id}}" 
       [(ngModel)]="item.qty" 
       validateQuantity 
       #qtyInput> 
     <button (click)="addItemToCart(item)" 
       [disabled]="!qtyInput.valid">Add to cart</button> 
    </div> 
    <button (click)="addAll()" 
      [disabled]="!form.valid">Add all</button> 
</form> 

nó kiễu góc ở đây. :)

+1

Đợi cái gì? Tôi đã thử điều này và nó không hoạt động nhưng đột nhiên nó, phải có một số lỗi đánh máy hoặc sai lầm khác .. Cảm ơn dù sao đi nữa! – Jeppz

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