Ich habe diese Nachricht erhalten, als ich die bidirektionale Bindung [(ngModel)] verwendete.
Template parse errors: Can't bind to 'ngModel' since it isn't a known property of 'input'.
Ich verstehe, dass das Importieren des FormsModule vermutlich dieses Problem behebt, da viele Leute hier sind. Ich hatte jedoch das FormsModule importiert, aber es hilft nicht, das Problem ist immer noch da
Auf jeden Fall stimmt etwas nicht mit meinem Code. Können Sie ein Licht werfen. Hier ist mein app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { RouterModule, Routes } from '@angular/router';
import { ValidationModule } from './validation/validation.module';
import { AppComponent } from './app.component';
import { AppRoutingModule } from './app.module.routing';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule,
ValidationModule,
AppRoutingModule,
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule {
}
hier ist mein app.routing.module.ts
import { NgModule } from '@angular/core'
import { RouterModule, Routes } from '@angular/router'
import { Home1Component } from './home1.component';
import { Home2Component } from './home2.component';
const appRoutes = [
{ path: 'home1', component: Home1Component },
{ path: 'home2', component: Home2Component },
{ path: 'validation', loadChildren: './validation/validation.module#ValidationModule'}
];
@NgModule({
declarations:[
Home1Component,
Home2Component
],
imports: [
RouterModule.forRoot(appRoutes)
],
exports:[
RouterModule
]
})
export class AppRoutingModule {
}
und hier ist mein html
<h1> home 1 </h1>
<form>
<input [(ngModel)]="currentHero.name">
<button type="button" (click)="onOkClicked()">Ok</button>
</form>
Ich füge meinen Quellcode hier ein, ich verwende eckig-cli source
wenn Sie reaktive Formulare verwenden möchten, müssen Sie Folgendes hinzufügen: ReactiveFormsModule
@NgModule({
declarations:[
Home1Component,
Home2Component
],
imports: [
RouterModule.forRoot(appRoutes),
ReactiveFormsModule,
],
exports:[
RouterModule
]
})
Sie müssen FormsModule
zu Importen in dem Modul hinzufügen, in dem Sie ihre Direktiven verwenden:
@NgModule({
declarations:[
Home1Component,
Home2Component
],
imports: [
RouterModule.forRoot(appRoutes),
FormsModule, // <<<=== missing
],
exports:[
RouterModule
]
})