ERROR 错误:NG0201:在 NodeInjector 中找不到 NgControl 的提供程序

wri*_*nes 6 web-applications typescript angular

我完全没有想法了。我想使用 Reactive Forms Module,所以我将它导入 app.module.ts 中

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

@NgModule({
  declarations: [
    AppComponent,
    ...
  ],
  imports: [
    ...
    ReactiveFormsModule,
    ...
  ],
  providers: [],
  bootstrap: [AppComponent]
})
Run Code Online (Sandbox Code Playgroud)

在我的组件中,我定义了:

import { Component, OnInit} from "@angular/core";

import { FormControl, FormGroup } from '@angular/forms';

@Component({
    ...
})

export class SearchComponent implements OnInit{
    //Variablen
    form: FormGroup;
    
    //Konstruktor
    constructor(){}

    //Methoden
    ngOnInit(){
        this.form = new FormGroup({
            'title': new FormControl(null)
        });
    }

    showValue(){
        console.log(this.form.get('title'));
    }
}
Run Code Online (Sandbox Code Playgroud)

编译运行良好,但在显示它时会崩溃,并在浏览器控制台中显示以下错误:“core.js:6156 错误错误:NG0201:在 NodeInjector 中找不到 NgControl 的提供程序。”

你们中有人知道出了什么问题吗?

我真的很感激任何提示。

非常感谢!

小智 19

要完成这项工作,您必须ReactiveFormsModule按照您的问题建议导入@NgModuleViewsModule 。由于 FormControl 是作为 ReactiveFormsModule 的一部分而不是 FormsModule 公开的。

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

@NgModule({
  imports: [..., ReactiveFormsModule, ...],
  ...
})
export class ViewsModule {...}
Run Code Online (Sandbox Code Playgroud)


Har*_*old 6

刚刚发现我的(相同的)错误,你必须导入ReactiveFormsModule“本地”模块......在你的情况下它必须是“search-component.module.ts”


zai*_*san 1

在 app.module.ts 中导入 FormsModule