【问题标题】:Dynamically binding name property in ngForm?在ngForm中动态绑定名称属性?
【发布时间】:2020-10-15 09:37:38
【问题描述】:

需要使用ngFor动态绑定name属性

<tr *ngFor="let subject of subjectSet1; let i = index">
              <td>
                <div class="form-check">
                  <label class="form-check-label">
                    <input class="form-check-input" type="checkbox" [name]="i" ngModel checked />
                    <span class="form-check-sign"></span>
                  </label>
                </div>
              </td>
              <td class="text-left">
                <input type="text" [name]="i" [value]="subject" class="form-control" placeholder="Username" ngModel disabled/>
              </td>
  </tr>

但这给了我这个错误信息

ERROR Error: If ngModel is used within a form tag, either the name attribute must be set or the form
  control must be defined as 'standalone' in ngModelOptions.

  Example 1: <input [(ngModel)]="person.firstName" name="first">
  Example 2: <input [(ngModel)]="person.firstName" [ngModelOptions]="{standalone: true}">

如何解决?

【问题讨论】:

标签: angular angular-forms


【解决方案1】:

有 3 种方法可以将 name 属性绑定到值。

  1. [name]="i" 和你一样。
  2. [attr.name]="i" 通过这种方式,您可以将任何元素的任何属性绑定到您的值。
  3. name="{{i}}"

错误ERROR Error: If ngModel is used within a form tag, either the name attribute must be set or the form control must be defined as 'standalone' in ngModelOptions. 非常清楚,这意味着如果表单控件中不存在名称属性,则应使用显式[ngModelOptions]="standalone",以便角度可以将此控件排除在表单验证之外。

【讨论】:

    猜你喜欢
    • 2015-06-24
    • 1970-01-01
    • 2011-09-01
    • 2012-08-21
    • 1970-01-01
    • 2018-01-20
    • 2013-01-29
    • 2016-09-12
    相关资源
    最近更新 更多