我在Angular 2中得到了这个错误
core.umd.js:5995 EXCEPTION: Uncaught (in promise): Error: Error in app/model_exposure_currencies/model_exposure_currencies.component.html:57:18
如果ngModel在一个form标签中被使用,则name . ngModel在一个form标签中被使用
属性必须设置或窗体
控件必须在ngModelOptions中定义为'standalone'。
示例1:
<input [(ngModel)]="person.firstName" name="first">
示例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()">
修理起来很容易。
对我来说,我们在表单中有不止一个输入。我们需要隔离导致错误的输入/行,并简单地添加name属性。这解决了我的问题:
之前:
<form class="example-form">
<mat-form-field appearance="outline">
<mat-select placeholder="Select your option" [(ngModel)]="sample.stat"> <!--HERE -->
<mat-option *ngFor="let option of actions" [value]="option">{{option}</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field appearance="outline">
<mat-label>Enter number</mat-label>
<input id="myInput" type="text" placeholder="Enter number" aria-label="Number"
matInput [formControl]="myFormControl" required [(ngModel)]="number"> <!--HERE -->
</mat-form-field>
<mat-checkbox [(ngModel)]="isRight">Check!</mat-checkbox> <!--HERE -->
</form>
后:
我只是为选择和复选框添加了名称属性,这解决了这个问题。如下:
<mat-select placeholder="Select your option" name="mySelect"
[(ngModel)]="sample.stat"> <!--HERE: Observe the "name" attribute -->
<input id="myInput" type="text" placeholder="Enter number" aria-label="Number"
matInput [formControl]="myFormControl" required [(ngModel)]="number"> <!--HERE -->
<mat-checkbox name="myCheck" [(ngModel)]="isRight">Check!</mat-checkbox> <!--HERE: Observe the "name" attribute -->
如您所见,添加了name属性。它没有必要被赋予与你的ngModel相同的名称。只要提供name属性就可以解决这个问题。