Angular2 ngModelがフォームタグ内で使用される場合、name属性を設定するか、フォームに質問する

Angular2 ngModelがフォームタグ内で使用される場合、name属性を設定するか、フォームに質問する

Angular 2からこのエラーが発生しています

core.umd.js:5995 例外: キャッチされませんでした (promise 内): エラー: app/model_exposure_currencies/model_exposure_currencies.component.html:57:18 でエラーが発生しました。原因: ngModel がフォーム タグ内で使用される場合、name 属性を設定するか、フォーム コントロールを 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()">

ベストアンサー1

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

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

スタンドアロン

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

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

おすすめ記事