形势
我试图在我的角度应用程序中创建一个非常简单的形式,但不管怎样,它都不起作用
角度版本
角度2.0.0 RC5
错误
无法绑定到“formGroup”,因为它不是“form”的已知属性
代码
景色
<;表格[formGroup]=";“新任务形式”;(提交)=;createNewTask()&燃气轮机;
<;div class=";“表格组”&燃气轮机;
<;标签for=";名称“&燃气轮机;名称</标签>;
<;输入类型=";“文本”;名称=“名称”;名称“;必需的>;
</部门>;
<;按钮类型=";提交;类别=“类”;btn btn默认值“&燃气轮机;提交</按钮>;
</表格>;
控制器
从'@angular/core'导入{Component};
从'@angular/forms'导入{FormGroup,FormControl,Validators,FormBuilder};
从'@angular/forms'导入{FormsModule,ReactiveFormsModule};
从“/Task”导入{Task};
@组成部分({
选择器:“任务添加”,
templateUrl:'app/task add.component.html'
})
导出类TaskAddComponent{
新askform:FormGroup;
构造函数(fb:FormBuilder)
{
this.newTaskForm=fb.group({
名称:[“验证器”,必填]
});
}
createNewTask()
{
log(this.newTaskForm.value)
}
}
NGD模块
从'@angular/core'导入{NgModule};
从“@angular/platform browser”导入{BrowserModule};
从'@angular/forms'导入{FormsModule};
从“/app.routing”导入{routing};
从“./app.component”导入{AppComponent};
从“/task.service”导入{TaskService}
@NGD模块({
进口:[
浏览器模块,
路由,
FormsModule
],
声明:[AppComponent],
供应商:[
任务服务
],
引导:[AppComponent]
})
导出类AppModule{}
问题
为什么我会犯这样的错误?我错过什么了吗
RC6/RC7/最终版本修复
要修复此错误,只需从模块中的@angular/forms导入ReactiveFormsModule。下面是带有ReactiveFormsModuleimport的基本模块示例:
从'@angular/core'导入{NgModule};
从“@angular/platform browser”导入{BrowserModule};
从'@angular/forms'导入{FormsModule,ReactiveFormsModule};
从“./app.component”导入{AppComponent};
@NGD模块({
进口:[
浏览器模块,
FormsModule,
反应窗体模块
],
声明:[
应用组件
],
引导:[AppComponent]
})
导出类AppModule{}
为了进一步解释,formGroup是名为FormGroupDirective的指令的选择器,该指令是ReactiveFormsModule的一部分,因此需要导入它。它用于将现有的FormGroup绑定到DOM元素。您可以在Angular的官方文档页面上阅读更多信息
RC5修复程序
您需要从控制器中的“@angular/forms”导入{REACTIVE\u FORM\u DIRECTIVES},并将其添加到@组件中的DIRECTIVES。这将解决问题
修复该问题后,可能会出现另一个错误,因为您没有添加formControlName=";名称“到表单中的输入