Angular2如果在表单标签中使用ngModel,则必须设置name属性或表单

我收到来自Angular 2的这个错误

core.umd.js:5995 EXCEPTION: Uncaught (in promise): Error: Error in app/model_exposure_currencies/model_exposure_currencies.component.html:57:18 caused by: 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}"> <td *ngFor="let lag of ce.lags"> <div class="form-group1"> <input name="name" [(ngModel)]="lag.name" [ngModelOptions]="{standalone: true}" class="form-control" pattern="[0-9]*(\.[0-9]+)?" required> </div> </td> 

这是我如何使用表单标签:

  <form #f="ngForm" (ngSubmit)="onSubmit()"> 

如果使用ngForm,则所有具有[(ngModel)]=""的input字段必须具有带有值的属性名称

 <input [(ngModel)]="firstname" name="something"> 

由于每个开发人员都有一个共同的习惯,不要读完整个错误,只要读第一行,开始寻找其他人的答案:) :)我也是其中之一,这就是为什么我在这里:

阅读错误,清楚地说:

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

还有什么我们需要了解这个错误?

使用任何一个选项,一切都将顺利进行。

你没有提到你正在使用的版本,但是如果你使用rc5或者rc6,那么这个“旧”风格的表单已经被弃用了。 看看这个“新”表单技术的指导: https : //angular.io/docs/ts/latest/guide/forms.html

你需要在你的page.ts中从@ angular / forms导入{NgForm}

代码HTML:

 <form #values="ngForm" (ngSubmit)="function(values)"> ... <ion-input type="text" name="name" ngModel></ion-input> <ion-input type="text" name="mail" ngModel></ion-input> ... </form> 

在你的Page.ts中,实现你的function来操作表单数据:

 function(data) {console.log("Name: "data.value.name + " Mail: " + data.value.mail);}