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
...
})
14 回答
import { FormsModule } from '@angular/forms';
// <<<<在此处导入BrowserModule, FormsModule
// <<<<和这里所以只需查找
app.module.ts
或其他模块文件,并确保您已导入FormsModule
...为了对表单输入使用双向数据绑定,您需要在Angular module 中导入 FormsModule 包 .
EDIT
由于存在大量重复问题但问题相同,我正在加强这个答案 .
有两个可能的原因
[(ngModel)]
的语法/拼写这是一个正确的答案 . 你需要导入FormsMoudle
首先在app.module.ts中
**
** app.component.spec.ts中的第二个
最诚挚的问候和希望将是有益的
您的 ngModel 无法正常工作,因为它还不是您的 NgModule 的一部分 .
您必须告诉 NgModule 您有权在整个应用程序中使用 ngModel ,您可以通过将 FormsModule 添加到 app.module.ts - > imports - > [] 来实现 .
我在使用Karma / Jasmine测试我的Angular 6 App时遇到了这个错误 . 我已经在我的顶级模块中导入了
FormsModule
. 但当我添加一个使用[(ngModel)]
的新组件时,我的测试开始失败 . 在这种情况下,我需要在TestBed
TestingModule
中导入FormsModule
.在
app.module.ts
中添加:尝试添加
代码与上面的代码相同
所有上述问题的解决方案都是正确的 . 但是如果使用延迟加载,则需要在子模块中导入
FormsModule
,其中包含表单 . 在app.module.ts
中添加它将无济于事 .使用Angular 7.x.x进行更新,在我的一个 modules 中遇到同样的问题 .
如果它位于您的独立模块中,请添加以下额外模块:
如果它位于
app.module.ts
中,请添加以下模块:一个简单的demo来证明这一点 .
在我的情况下,我添加了缺少的导入,即
ReactiveFormsModule
.如果要对表单输入使用双向数据绑定,则需要在Angular模块中导入FormsModule包 . 有关更多信息,请参阅此处的Angular 2官方教程和表单的官方文档
在app.module.ts中添加以下行:
答案对我来说是
ngModel
的错误拼写 . 我把它写成这样:ngModule
虽然它应该是ngModel
.所有其他尝试显然都无法为我解决错误 .
首先导入FormsModule,然后在component.ts中使用ngModel