Angular7:NullInjectorError:没有 FormGroup 的提供者

Ard*_*zii 3 forms angular formgroups

我真的很沮丧,因为我不知道发生了什么。今天早上一切正常,就在我进行了一些更改以将 ReactiveForm 中的 2 个表单合并在一起之前,现在我在浏览器中收到以下错误:

错误:StaticInjectorError(AppModule)[FormGroup]:
StaticInjectorError(Platform:core)[FormGroup]:NullInjectorError:没有提供程序组!错误:StaticInjectorError(AppModule)[FormGroup]:
StaticInjectorError(Platform:core)[FormGroup]:NullInjectorError:没有提供程序组!

我正在导入FormsModuleReactiveFormsModule在我的app.module.ts文件中:

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 { }
Run Code Online (Sandbox Code Playgroud)

然后是我组件中的 FormGroup:

import { FormGroup, FormControl, Validators } from '@angular/forms';
[...]
Run Code Online (Sandbox Code Playgroud)

然后在组件中声明一个新的 FormGroup 。我尝试@angular/forms使用 npm重新安装该软件包,但仍然出现错误...我看过一些类似的问题,但据我所知,这与测试环境有关。如果您有任何想法,请提前致谢。

小智 7

不要将 FormGroup 注入到组件的构造函数中。

这不行:

constructor(private fb:FormBuilder,  private ts:FormGroup)
Run Code Online (Sandbox Code Playgroud)

这没关系:

constructor(private fb:FormBuilder)
Run Code Online (Sandbox Code Playgroud)