J'utilise Angular 4 et j'obtiens une erreur dans la console:
Impossible de se lier à 'ngModel' car ce n'est pas une propriété connue de 'input'
Comment puis-je résoudre ça?
angular
typescript
angular-ngmodel
angular-forms
Vijay Kumar
la source
la source
FormsModule
auimports: []
module où vous utilisezngModel
. Sinon, affichez votre code.Réponses:
Pour utiliser la liaison de données bidirectionnelle pour les entrées de formulaire, vous devez importer le
FormsModule
package dans votre module angulaire.ÉDITER
Puisqu'il y a beaucoup de questions en double avec le même problème, j'améliore cette réponse.
Il y a deux raisons possibles
Manquant
FormsModule
, ajoutez donc ceci à votre module,Vérifiez la syntaxe / l'orthographe de
[(ngModel)]
dans la balise d'entréela source
Ceci est une bonne réponse. vous devez importer FormsMoudle
premier dans app.module.ts
**
** deuxième dans app.component.spec.ts
Meilleures salutations et espoir seront utiles
la source
Votre
ngModel
ne fonctionne pas parce que cela ne fait pas partie de votreNgModule
.Vous devez dire
NgModule
que vous êtes autorisé à utiliserngModel
tout au long de votre application, vous pouvez le faire en l'ajoutantFormsModule
à votreapp.module.ts
->imports
->[]
.la source
J'ai rencontré cette erreur lors du test de mon application Angular 6 avec Karma / Jasmine. J'avais déjà importé
FormsModule
dans mon module de niveau supérieur. Mais quand j'ai ajouté un nouveau composant qui utilisait[(ngModel)]
mes tests, a commencé à échouer. Dans ce cas, je devais importerFormsModule
dans monTestBed
TestingModule
.la source
Toutes les solutions au problème mentionnées ci-dessus sont correctes. Mais si vous utilisez le chargement différé,
FormsModule
doit être importé dans le module enfant qui contient des formulaires. L'ajouterapp.module.ts
ne vous aidera pas.la source
En
app.module.ts
ajouter ceci:la source
J'ai essayé tout ce qui est mentionné ci-dessus, mais cela ne fonctionne toujours pas.
mais finalement j'ai trouvé le problème dans le site angulaire. Essayez d'importer formModule dans module.ts c'est tout.
la source
Essayez d'ajouter
Le code est le même que ci-dessus
la source
Mise à jour avec Angular 7.xx , rencontrez le même problème dans l'un de mes modules .
S'il se trouve dans votre module indépendant, ajoutez ces modules supplémentaires:
S'il se trouve dans votre
app.module.ts
, ajoutez ces modules:Une démo simple pour prouver le cas.
la source
La réponse pour moi était une mauvaise orthographe
ngModel
. Je l'avais écrit comme ceci:ngModule
alors qu'il devrait l'êtrengModel
.Toutes les autres tentatives n'ont évidemment pas résolu l'erreur pour moi.
la source
import { FormsModule } from '@angular/forms';
// <<<< l'importer iciBrowserModule, FormsModule
// <<<< et iciIl suffit donc de rechercher
app.module.ts
ou d'un autre fichier de module et de vous assurer que vous avezFormsModule
importé dans ...la source
Dans mon cas, j'ai ajouté l'import manquant, qui était le
ReactiveFormsModule
.la source
module d'importation de formulaire dans app.module.ts.
En html:
la source
Dans mon cas, j'ai mal orthographié, je faisais référence à ngmodel au lieu de ng M odel :) J'espère que ça aide!
Attendu - [(ngModel)] Réel - [(ngmodel)]
la source
Vous devez vérifier les éléments suivants si la liaison bidirectionnelle ne fonctionne pas.
<input [(ngModel)]="inputText">
C'est tout ce que vous devez faire pour que la liaison bidirectionnelle fonctionne avec ngModel, cela est validé jusqu'à angulaire 9
la source
Si vous souhaitez utiliser la liaison de données bidirectionnelle pour les entrées de formulaire, vous devez importer le package FormsModule dans votre module angulaire. Pour plus d'informations, consultez le tutoriel officiel d'Angular 2 ici et la documentation officielle des formulaires
dans app.module.ts, ajoutez les lignes ci-dessous:
la source
importez d'abord FormsModule puis utilisez ngModel dans votre composant.ts
Code HTML:
la source
Si même après l'importation du module de formulaires, le problème persiste, vérifiez que votre entrée n'a pas d'attribut "nom" avec une valeur égale à une autre entrée sur la page.
la source