Angular 2两种方式绑定从html输入标签中删除名称属性

Zea*_*gar 5 html angular-ngmodel laravel-5 angular2-forms

当我在输入标签中进行两种方式绑定时,name属性将从输入标签中删除。绑定元素是一个数组。

<div class="row" *ngFor="let box of boxs; let boxindex=index ">
<div class="col-sm-4">
<label>Boxs</label>
<input type="text" name="count[{{boxindex}}]" [(ngModel)]="box[boxindex]">
</div>
</div>
Run Code Online (Sandbox Code Playgroud)

当我以上述方式编写时,名称属性被删除,但是

<div class="row" *ngFor="let box of boxs; let boxindex=index ">
<div class="col-sm-4">
<label>Boxs</label>
<input type="text" name="count[]" [(ngModel)]="box[boxindex]">
</div>
</div>
Run Code Online (Sandbox Code Playgroud)

这样就保留了名称属性。第一个代码有什么错误?我正在将此表格发布到Laravel Route。

Bog*_*anC 1

我像这样测试了你的初始代码

<div *ngFor="let box of boxs; let boxindex=index ">
  <div>
   <label>Boxs</label>
   <input #input type="text" name="count[{{boxindex}}]" placeholder={{input.name}}>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

在 plunkr 上,它正在工作,应该是其他东西去掉了你的名字。

编辑

我在 2.0.0 上尝试了相同的代码,并且可以正常工作。虽然我不知道你在这里显示的代码是如何工作的,因为在 2.0.0 上 Angular 不let接受*ngFor但是#

<div *ngFor="#box of boxs; #boxindex=index ">
Run Code Online (Sandbox Code Playgroud)

你可以在这里找到工作的plunkr

我强烈建议您将 2.0.0 解决方案升级到最新版本的 Angular。