Angular : résoudre l'erreur Can't bind to 'ngModel' since it isn't a known property of 'input'

Le framework Angular fonctionne avec un système de modules. Chaque module apporte une fonctionnalité supplémentaire au framework. Un développeur, lorsqu'il crée son application, est libre d'utiliser les modules de son choix. L'apparition du message d'erreur "Can't bind to 'ngModel' since it isn't a known property of 'input'" est liée au système de module.

Le framework vous permet de créer vos formulaires avec par exemple des champs, des cases à cocher ou encore des listes déroulantes. Si vous créez un formulaire et que vous obtenez ce message d'erreur, c'est que le module qui permet de créer des formulaires n'est pas inclus. Le framework ne gère pas directement les formulaires. Il faut inclure le module "FormsModule" pour pouvoir utiliser cette fonctionnalité. Ouvrez le fichier "app.module.ts" situé à la racine du projet. Vous devez utiliser la directive "import" pour importer le module puis modifier la directive "@NgModule" qui gère les dépendances de l'application.

import { FormsModule } from '@angular/forms';
@NgModule({
    imports: [
        FormsModule      
    ]
})

Si votre application fait appel à des composants, vous devez faire la même opération dans le fichier "app.component.spec.ts".

Si le module a bien été importé, le message d'erreur peut également apparaître si la syntaxe du modèle spécifié dans l'attribut [(ngModel)] est fausse. Il faut dans ce cas vérifier les éléments du formulaire et corriger les erreurs.

<input type="text" class="form-control" id="monChamp" [(ngModel)]="monModele.monChamp" name="monChamp"/>

AngularJS