Angular2 不能以 ngFor 重复的形式使用 ngModel

Angular2 can't use ngModel in form repeated by ngFor

如何将 ngModel 用于由 ngFor 重复的多种形式的输入?

Angular2 在我尝试这样做时出错。

错误:访问权限被拒绝 属性 "rejection"

有问题的代码示例块:

<div *ngFor="let item of items">
    <form name="itemForm">
        {{item.name}}<input [(ngModel)]="item.name">
    </form>
</div>

这是个笨蛋 https://plnkr.co/edit/YNZiCBeyqJoxO5ox5nlC?p=preview

如果我删除表单标签,这一切 运行 都没有问题,但我需要它,所以我可以在所有输入上使用回车键来更新自己表单中的相应数据。

如果在表单标签中使用 ngModel,则必须设置 name 属性,或者必须将表单控件定义为 ngModelOptions 中的 'standalone'。

以下将无任何错误:

<div *ngFor="let item of items">
  <form name="itemForm">
    {{item.name}}<input [(ngModel)]="item.name" [ngModelOptions]="{standalone: true}">
  </form>
</div>

正如@ranakrunal9 所指出的,您可以为输入使用唯一名称 属性。这里的代码:

<div *ngFor="let item of items; let index=index">
    <form name="itemForm">
        {{item.name}}<input [(ngModel)]="item.name" name={{index}}>
    </form>
</div>