256

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 属性のいずれかが設定するか、フォーム コントロールを ngModelOptions で「スタンドアロン」として定義する必要があります。

例 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()">
4

14 に答える 14

511

ngForm を使用する場合、すべての入力フィールドには値を[(ngModel)]=""持つ属性が必要です。

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

スタンドアロン

1 つを設定[ngModelOptions]="{standalone: true}"することで、Angular に次のように伝えます。フォームや を無視し、変数ngFormにバインドしてください。firstname

ただし、form-tag が誤って使用された場合 (私の場合のように)、別のオプションに変更formすることもdivできます (ただし、スタイルに -tag が必要ない場合formのみ)。

于 2016-11-07T09:44:21.663 に答える
16

コンソールをよく見ると、2 つの例が表示されます。これらのいずれかを実装します。

<input [(ngModel)]="person.firstName" [ngModelOptions]="{standalone:true}">

また

<input [(ngModel)]="person.firstName" name="first">
于 2017-12-20T11:55:35.150 に答える