2017-08-26 74 views
2

我正在尝试学习Angular2的基础知识,所以我试图做一些测试。我已经下载了typescriptangular/clingModel在调用时留下空白屏幕

我可以使用iterpolation,属性绑定等,但是当我尝试使用双向数据绑定那样(在app.component.html用于测试):

<input type="text" [(ngModel)]="test.description"> 

ng server刷新,我所做的所有事情都消失了,我看到的只是一个空白的屏幕。

我问的答案很简单,因为我是一个使用角的初学者。

编辑: 即使更新app.modules.ts后,我的控制台不断显示以下错误:

Uncaught Error: Template parse errors: 
Can't bind to 'NgModel' since it isn't a known property of 'input'. (" 
</p> 

<input type="text" [ERROR ->][(NgModel)]="test.description" >` 
+0

你声明的对象测试? – Sajeetharan

+0

是的,即使当我打电话时,例如'{{test.description}}它正确显示值,问题是当我尝试使用'[(ngModel)]' – Lioo

+0

做任何事情时都不要大写它。使用小写 - ngModel – diopside

回答

2

你一定是在控制台上的错误,使用ngModel,添加到您的模块,

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

@NgModule({ 
imports: [ 
     FormsModule  
] 

使用正确的语法ngModel

<input type="text" name="name" [(ngModel)]="test.description"> 
+0

嗨Sajeetharan - 我不认为这我有必要使用ngModel。我在我所有的应用程序中使用它,并从未使用过这个模块。 – diopside

+0

是的 - 您可以将ngModel与模板驱动的表单或反应形式一起使用。模板驱动的表单只是使用更基本的“FormsModule”。但即便如此,除非在表单标记中使用ngModel,并且您需要在表单的模板中引用输入状态,否则不需要导入特殊的表单模块。 – diopside

+0

https://angular.io/api/forms/NgModel < - 请参阅此处。 “这个指令本身可以使用,也可以作为一个更大的表格的一部分,你需要的只是ngModel选择器来激活它。” – diopside

0

你需要把一个“名”属性的输入,以使其与ngModel

<input type="text" name="name" [(ngModel)]="test.description"> 

在这里工作是Plunker

+0

我一直使用我的ngModel输入的名称,但从官方文档判断 - 当使用独立的ngModel输入时不是必需的。 https://angular.io/api/forms/NgModel请参阅第一个“如何使用”示例。 – diopside