微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

形式 – 带有ngFor输入的Angular 2模板驱动形式

是否可以使用模板驱动形式的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在这里.

原文地址:https://www.jb51.cc/angularjs/143646.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐