【问题标题】:Error: Uncaught (in promise): Error: NodeInjector: NOT_FOUND [ControlContainer]错误:未捕获(承诺):错误:NodeInjector:NOT_FOUND [ControlContainer]
【发布时间】:2021-03-03 14:10:02
【问题描述】:

我正在做一个项目,我想在引导模式中显示一个表单。我已经在他们的网站上添加了引导模式,并尝试在其正文中添加一个反应形式。以下是我的代码:

.html

           ...
          <div class="modal-body">
            <form [formGroup] = "addDataForm">
              <div class="form-group">
                <label>Project Type</label>
                <input type = "text" class="form-control" [formControlName] = "pt">
                <label>Fiscal Year (F.Y.)</label>
                <input type="text" class = "form-control" [formControlName] = "fiyr">
                <label>Task Description</label>
                <input type="text" class="form-control" [formControlName] = "td">
              </div>
            </form>
          </div>
          ...

.ts

addDataForm: FormGroup;
ngOnInit()
{
       this.addDataForm = new FormGroup({
      'pt': new FormControl(null),
      'fiyr': new FormControl(null),
      'td': new FormControl(null),
});

我也将这两个模块导入到:

app.module.ts

import { ReactiveFormsModule, FormsModule } from "@angular/forms";

我在搜索了很多之后尝试了不同的方法,但仍然出现此错误:

Error: Uncaught (in promise): Error: NodeInjector: NOT_FOUND [ControlContainer]
         

【问题讨论】:

  • formControlName 属性中删除方括号。
  • 你看过这个答案中提到的解决方案了吗? stackoverflow.com/a/61427097/7671803
  • 是的,我已经尝试过了,但仍然遇到同样的错误。

标签: angular typescript


【解决方案1】:

由于您使用的是[formGroup],您可以执行以下任一操作:

  1. formControlName="pt" 用于所有表单控件
  2. [formControl]="addDataForm.controls.pt",请注意这将是嵌套 formGroups 的问题。

【讨论】:

猜你喜欢
  • 2021-02-01
  • 2020-06-13
  • 2022-12-19
  • 1970-01-01
  • 2020-06-03
  • 2018-10-12
  • 2021-11-28
  • 2018-05-12
  • 2019-08-20
相关资源
最近更新 更多