webentwicklung-frage-antwort-db.com.de

ngModelChange von Formularen abgewinkelt 6

Nach dem Upgrade Winkel 5 bis 6

Ich habe versucht, mein Formular zu aktualisieren: 

anguar 5 ich hatte: 

 <select [ngModel]="toto" (ngModelChange)="onChange($event)" 

          <option *ngFor="let toto of totos" [ngValue]="toto.id">{{toto.libelle}}</option>

</select>

winkel 6 Ich habe aktualisiert: 

 <select #oldValue="ngModel" [(ngModel)]="toto" (ngModelChange)="onChange(oldValue)" 

          <option *ngFor="let toto of totos" [ngValue]="toto.id">{{toto.libelle}}</option>
</select>

Ich habe diesen Fehler erhalten: 

compiler.js:215 Uncaught Error: Template parse errors:
There is no directive with "exportAs" set to "ngModel" (" 

Ich habe FormsModule in meiner app.component.ts

Was vergesse ich? Danke dir 

2
Viet47

Gibt es in Ihrer Komponente einen Variablennamen "toto", wenn es vorhanden ist ... Ok

Zum einen müssen Sie das Open-Select-Tag richtig schließen.

Wenn Sie [(ngModel)] verwenden, müssen Sie den Namen im forrm-Element festlegen

Das erste, was Sie verpasst haben, ist, dass Sie das select-Tag nicht close verwenden.

Das zweite, was Sie FormsModule and ReactiveFormsModule in app.module.ts importieren müssen

HTML-Datei

<select #oldValue="ngModel" [(ngModel)]="toto" (ngModelChange)="onChange(oldValue)">

          <option *ngFor="let toto of totos" [ngValue]="toto.id">{{toto.libelle}}</option>
</select>

In der Datei app.module.ts

import { FormsModule, ReactiveFormsModule } from '@angular/forms';

Die beiden oben genannten Importe sollten wie folgt im ngModule-Tag enthalten sein

@NgModule({
  imports: [
    FormsModule,
    ReactiveFormsModule 
   ]
})
0
VIKAS KOHLI

Ich denke, Sie haben vergessen, > in select hinzuzufügen.

<select #oldValue="ngModel" [(ngModel)]="toto" (ngModelChange)="onChange(oldValue)">
0
baj9032