我使用的是Angular 4,我在控制台得到了一个错误:
不能绑定到ngModel,因为它不是input的已知属性
我该如何解决这个问题?
我使用的是Angular 4,我在控制台得到了一个错误:
不能绑定到ngModel,因为它不是input的已知属性
我该如何解决这个问题?
当前回答
我尝试了上面提到的所有方法,但仍然不起作用。
但最后我在Angular站点上发现了这个问题。尝试在module中导入formModule。就是这样。
其他回答
我在用Karma/Jasmine测试Angular 6应用时遇到了这个错误。我已经在顶层模块中导入了FormsModule。但是当我添加一个使用[(ngModel)]的新组件时,我的测试开始失败。在这种情况下,我需要在我的TestBed TestingModule中导入FormsModule。
beforeEach(async(() => {
TestBed.configureTestingModule({
imports: [
FormsModule
],
declarations: [
RegisterComponent
]
})
.compileComponents();
}));
在你的NgModule导入中添加FormsModule(因此ngModel是FormsModule的一部分)。
注意,它可以是AppModule,也可以是通过惰性加载加载的特性模块。
imports: [
...,
FormsModule,
...
]
为了对表单输入使用双向数据绑定,你需要在Angular模块中导入FormsModule包。
import { FormsModule } from '@angular/forms';
@NgModule({
imports: [
FormsModule
]
EDIT
因为有很多相同问题的重复问题,我正在加强这个答案。
有两个可能的原因
缺少FormsModule,因此将此添加到您的模块, import {FormsModule} from '@angular/forms'; @NgModule ({ 进口:[ FormsModule ] 检查input标签中[(ngModel)]的语法/拼写
在app.module.ts中添加以下内容:
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
@NgModule({
declarations: [AppComponent],
imports: [FormsModule],
})
用Angular 7.x更新。X,在我的一个模块中遇到了同样的问题。
如果它在你的独立模块中,添加这些额外的模块:
import { CommonModule } from "@angular/common";
import { FormsModule } from "@angular/forms";
@NgModule({
imports: [CommonModule, FormsModule], // the order can be random now;
...
})
如果它在app。module中。Ts,添加这些模块:
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
@NgModule({
imports: [ FormsModule, BrowserModule ], // order can be random now
...
})
一个简单的演示来证明这一点。