Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular7:NullInjectorError:没有FormGroup的提供程序_Angular_Forms_Formgroups - Fatal编程技术网

Angular7:NullInjectorError:没有FormGroup的提供程序

Angular7:NullInjectorError:没有FormGroup的提供程序,angular,forms,formgroups,Angular,Forms,Formgroups,我真的很困惑,因为我不知道发生了什么。 今天早上,我做了一些更改,将两个表单合并到一个反应表单中,在此之前,一切都正常工作,现在我在浏览器中遇到以下错误: 错误:StaticInjectorError(AppModule)[FormGroup]: StaticInjectorError(平台:核心)[FormGroup]: NullInjectorError:FormGroup没有提供程序!错误:StaticInjectorError(AppModule)[FormGroup]: StaticI

我真的很困惑,因为我不知道发生了什么。 今天早上,我做了一些更改,将两个表单合并到一个反应表单中,在此之前,一切都正常工作,现在我在浏览器中遇到以下错误:

错误:StaticInjectorError(AppModule)[FormGroup]:
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应该在您的模块中声明,在构造函数之外。。。