Ich verwende Angular 4 und erhalte eine Fehlermeldung in der Konsole:
Kann nicht an 'ngModel' gebunden werden, da es keine bekannte Eigenschaft von 'input' ist.
Wie kann ich das beheben?
angular
typescript
angular-ngmodel
angular-forms
Vijay Kumar
quelle
quelle
FormsModule
umimports: []
von dem Modul , wo Sie verwendenngModel
. Andernfalls geben Sie Ihren Code ein.Antworten:
Um die bidirektionale Datenbindung für Formulareingaben zu verwenden, müssen Sie das
FormsModule
Paket in Ihr Angular-Modul importieren .BEARBEITEN
Da es viele doppelte Fragen mit demselben Problem gibt, verbessere ich diese Antwort.
Es gibt zwei mögliche Gründe
Fehlt
FormsModule
, daher füge dies deinem Modul hinzu,Überprüfen Sie die Syntax / Rechtschreibung
[(ngModel)]
im Eingabe-Tagquelle
Dies ist eine richtige Antwort. Sie müssen FormsMoudle importieren
zuerst in app.module.ts
** **.
** Sekunde in app.component.spec.ts
Mit freundlichen Grüßen und Hoffnung wird hilfreich sein
quelle
Du
ngModel
arbeitest nicht, weil es noch kein Teil von dirNgModule
ist.Sie müssen mitteilen,
NgModule
dass Sie die Berechtigung haben,ngModel
in Ihrer gesamten App zu verwenden. Sie können dies tun, indemFormsModule
Sieapp.module.ts
->imports
-> hinzufügen[]
.quelle
Beim Testen meiner Angular 6-App mit Karma / Jasmine ist dieser Fehler aufgetreten. Ich hatte bereits
FormsModule
in mein Top-Level-Modul importiert . Aber als ich eine neue Komponente hinzufügte, die[(ngModel)]
meine Tests verwendete, schlug dies fehl. In diesem Fall musste ichFormsModule
in meine importierenTestBed
TestingModule
.quelle
Alle oben genannten Lösungen für das Problem sind korrekt. Wenn Sie jedoch das verzögerte Laden verwenden,
FormsModule
muss es in das untergeordnete Modul importiert werden, das Formulare enthält. Das Hinzufügenapp.module.ts
wird nicht helfen.quelle
In
app.module.ts
fügen Sie diese:quelle
Ich habe alles versucht, was oben erwähnt wurde, aber es funktioniert immer noch nicht.
Aber schließlich habe ich das Problem in Angular gefunden. Versuchen Sie, formModule in module.ts zu importieren.
quelle
Versuchen Sie es hinzuzufügen
Der Code ist der gleiche wie oben
quelle
Bei einem Update mit Angular 7.xx tritt das gleiche Problem in einem meiner Module auf .
Wenn es in Ihrem unabhängigen Modul liegt, fügen Sie diese zusätzlichen Module hinzu:
Wenn es in Ihrem liegt
app.module.ts
, fügen Sie diese Module hinzu:Eine einfache Demo , um den Fall zu beweisen.
quelle
Die Antwort für mich war die falsche Schreibweise von
ngModel
. Ich hatte es so geschrieben:ngModule
solange es sein solltengModel
.Alle anderen Versuche konnten den Fehler offensichtlich nicht für mich beheben.
quelle
import { FormsModule } from '@angular/forms';
// <<<< importiere es hierBrowserModule, FormsModule
// <<<< und hierSuchen Sie einfach nach einer
app.module.ts
anderen Moduldatei und stellen Sie sicher, dass SieFormsModule
in ...quelle
In meinem Fall habe ich den fehlenden Import hinzugefügt, nämlich den
ReactiveFormsModule
.quelle
Formularmodul in app.module.ts importieren.
In HTML:
quelle
In meinem Fall habe ich falsch geschrieben, ich habe als ngmodel statt ng M bezeichnet odel bezeichnet :) Hoffe, es hilft!
Erwartet - [(ngModel)] Tatsächlich - [(ngmodel)]
quelle
Sie sollten Folgendes überprüfen, wenn die bidirektionale Bindung nicht funktioniert.
<input [(ngModel)]="inputText">
Dies ist alles, was Sie tun müssen, damit die bidirektionale Bindung mit ngModel funktioniert. Dies wird bis zu Winkel 9 validiert
quelle
Wenn Sie die bidirektionale Datenbindung für Formulareingaben verwenden möchten, müssen Sie das FormsModule-Paket in Ihr Angular-Modul importieren. Weitere Informationen finden Sie im offiziellen Angular 2-Tutorial hier und in der offiziellen Dokumentation für Formulare
Fügen Sie in der Datei app.module.ts die folgenden Zeilen hinzu:
quelle
Importieren Sie zuerst FormsModule und verwenden Sie dann ngModel in Ihrer component.ts
HTML Quelltext:
quelle
Wenn das Problem auch nach dem Importieren des Formularmoduls weiterhin besteht, überprüfen Sie, ob Ihre Eingabe kein "Name" -Attribut mit einem Wert hat, der einer anderen Eingabe auf Seite entspricht.
quelle