是否可以在模板驱动的表单中使用ngFor创建输入字段,并使用类似#name=“ngmodel”的东西来在另一个标记中使用name.valid?
现在,我们有一个动态的产品列表,在一个表中有一个数量字段和一个添加到购物车按钮。我想把整个事情变成一个表单,末尾有一个add all按钮,如下所示:
<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>
它的角部分在这里。:)
我正在学习角度,我不知道如何重置模板驱动表单的验证。 提前致谢
首先,考虑一个典型的表单: index.html signup-form.component.ts
在Angular 2中,我如何使用ngfor在重复列表中获得与NgModel的双向绑定。下面是我的plunkr和代码,但我得到了一个错误。
在Angular 2+中使用模板驱动的表单,我希望使用表单中的子组件来更容易地对表单元素进行单元测试。也就是说,我希望能够禁用submit按钮With template reference variables(ie)。我知道有些东西应该从父窗体传递到子组件,但我还不知道这是什么,也不知道应该使用什么语法。 我已经看过以下链接,但它们在真正的输入控制定制与访问模板引用变量方面有更多的工作要做: 如何
双向绑定