是否可以使用模板驱动形式的ngFor创建输入字段,并使用#name =“ngModel”之类的东西在另一个标签中使用name.valid?
现在,我们有一个动态的产品列表,其中包含数量字段和表格中的“添加到购物车”按钮.我想让整个事情成为最后添加全部按钮的表单,如下所示:
- <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>
但是如何为ngModel每行生成一个新的变量名?
没有必要这样做,只需这样做:
- <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>
它的Angular在这里.