2017-04-08 63 views
43

我使用Angular 4和我得到的控制台错误:角4 - “无法绑定到‘ngModel’,因为它不是‘输入’的已知属性”错误

由于它不是“输入”的已知属性,因此无法绑定到'ngModel'

我该如何解决这个问题?

+4

您需要将'FormsModule'添加到您使用'ngModel'的模块的'imports:[]'中。否则发布你的代码。 –

+0

谢谢你,现在工作。 –

+6

我不能认为所有*新的Angular 2&4开发人员都会碰到这个问题(包括我自己)。你最后一次使用Angular的时候,*没有*想要在某处使用ngModel?我不明白为什么FormsModule不是默认包含在内...... –

回答

123

为了对表单输入使用双向数据绑定,您需要在您的Angular模块中导入FormsModule包。

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

@NgModule({ 
    imports: [ 
     FormsModule  
    ] 

编辑

由于有大量的具有相同proble重复的问题,我提高这个答案。

有两个可能的原因

(I)缺少FormsModule,因此添加到您的模块,

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

@NgModule({ 
    imports: [ 
     FormsModule  
    ], 

(二)检查输入标签

[(ngModel)]语法/拼写
+6

ngModel和FormsModule之间的关系是什么?然而,这不适合我。 – Govind

+0

FormsModule提供了关于表单元素的其他指令,包括输入,选择等。这就是为什么它是必需的。不要忘记在声明包含表单元素绑定的组件的相同模块中导入FormsModule。 – Bob

+1

为我工作.. –

-4

在app.module.ts中加入:

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

@NgModule({ 

    declarations: [AppComponent], 
    imports: [FormsModule, 
+1

此答案对现有答案增加了什么附加值? –

+1

格式化您的代码 – chirag90

+3

不会为答案添加任何值,并且代码格式错误。混乱的开胃菜。 – ssmsnet

相关问题