2017-04-08 64 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

相關問題