Angular7:NullInjectorError:没有FormGroup的提供程序
我真的很困惑,因为我不知道发生了什么。 今天早上,我做了一些更改,将两个表单合并到一个反应表单中,在此之前,一切都正常工作,现在我在浏览器中遇到以下错误: 错误:StaticInjectorError(AppModule)[FormGroup]:Angular7:NullInjectorError:没有FormGroup的提供程序,angular,forms,formgroups,Angular,Forms,Formgroups,我真的很困惑,因为我不知道发生了什么。 今天早上,我做了一些更改,将两个表单合并到一个反应表单中,在此之前,一切都正常工作,现在我在浏览器中遇到以下错误: 错误:StaticInjectorError(AppModule)[FormGroup]: StaticInjectorError(平台:核心)[FormGroup]: NullInjectorError:FormGroup没有提供程序!错误:StaticInjectorError(AppModule)[FormGroup]: StaticI
StaticInjectorError(平台:核心)[FormGroup]: NullInjectorError:FormGroup没有提供程序!错误:StaticInjectorError(AppModule)[FormGroup]:
StaticInjectorError(平台:核心)[FormGroup]: NullInjectorError:FormGroup没有提供程序 我正在我的
app.module.ts
文件中导入FormsModule
和ReactiveFormsModule
:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
[...]
@NgModule({
declarations: [
AppComponent,
CustomersComponent,
HeaderComponent,
CustomersListComponent,
CustomerEditComponent
],
imports: [
BrowserModule,
AppRoutingModule,
FormsModule,
ReactiveFormsModule,
...
HttpClientModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
然后是我的组件中的FormGroup:
import { FormGroup, FormControl, Validators } from '@angular/forms';
[...]
然后在组件中声明一个新的FormGroup。
我试图用npm重新安装@angular/forms
包,但仍然收到错误。。。
我见过一些类似的问题,但从我所能说的,它与测试环境有关。如果您有任何想法,请提前感谢。我必须查看正在生成表单的ts文件。但听起来您使用的是被动表单,并没有导入所需的所有内容。反应表单不仅需要:
import { FormGroup, FormControl, Validators } from '@angular/forms';
但也要确保在同一导入语句中导入“FormBuilder”:
import { FormBuilder, FormGroup, FormControl, Validators } from '@angular/forms';
此外,在构造器中,您还应具有以下类似功能:
constructor(private fb: FormBuilder) {}
表单应该有表单生成器来实例化表单:
productForm = this.fb.group({})
如果这不能解决问题,我需要更多帮助。不要将FormGroup注入组件的构造函数 这不好:
constructor(private fb:FormBuilder, private ts:FormGroup)
这没关系:
constructor(private fb:FormBuilder)
您的组件的名称和位置是什么?该组件是“CustomerEditComponent”,位于src/app/customers/customer edit中。您可以在中创建演示,以便我可以查看它吗?谢谢;)<代码>ts!:FormGroup代码>应该在您的模块中声明,在构造函数之外。。。