我使用的是Angular 4,我在控制台得到了一个错误:

不能绑定到ngModel,因为它不是input的已知属性

我该如何解决这个问题?


当前回答

在你的NgModule导入中添加FormsModule(因此ngModel是FormsModule的一部分)。

注意,它可以是AppModule,也可以是通过惰性加载加载的特性模块。

imports: [
   ...,
   FormsModule,
   ...
]

其他回答

这是一个正确答案。 你需要导入FormsModule

首先在app.module.ts中

**

import { BrowserModule } from '@angular/platform-browser';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { NgModule  } from '@angular/core';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    FormsModule,
    ReactiveFormsModule ,
    BrowserModule,
    AppRoutingModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

** 在app.component.spec.ts中的第二个

import { TestBed, async } from '@angular/core/testing';
import { RouterTestingModule } from '@angular/router/testing';
import { AppComponent } from './app.component';
import { FormsModule } from '@angular/forms';
describe('AppComponent', () => {
  beforeEach(async(() => {
    TestBed.configureTestingModule({
      imports: [
        RouterTestingModule,
        FormsModule
      ],
      declarations: [
        AppComponent
      ],
    }).compileComponents();
  }));

最好的问候,希望会有所帮助。

在我的例子中,我添加了缺失的导入,即ReactiveFormsModule。

在angular 7中,你必须导入“ReactiveFormsModule”。

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

我通过这个导入解决了这个问题。这对你有帮助。

尝试添加

模块级的ngModel

代码与上面的相同

我的答案是ngModel的拼写错误。我把它写成这样:ngModule,而它应该是ngModel。

所有其他尝试显然都未能为我解决这个错误。