Angular错误:没有 NgControl 的提供者
Angular ERROR in : No provider for NgControl
我正在创建一个实现 ControlValueAccessor 的组件以用于响应式表单,它只是一个输入元素的包装器,上面有一些管道。
我注入了 NgControl 以检索 valid/invalid 状态并将它们传播到内部输入元素。
当在另一个输入中找到输入值时,它是无效的。
在 Stackblitz 上工作正常,但是当我进行 ng build --prod 时,它引发了错误:
ERROR in : No provider for NgControl ("[ERROR ->])
你看到什么问题了吗?
谢谢!
您好,您可以为您的 NgControl 添加“@Optional”装饰器。如果找不到提供商,它将使用 null。有关详细信息,请查看:https://angular.io/api/core/Optional
在您的代码中:
import { Component, Input, OnInit, Self,Optional } from '@angular/core';
...
constructor(
@Self() @Optional() private controlContainer: NgControl
) {
this.controlContainer.valueAccessor = this;
}
我正在创建一个实现 ControlValueAccessor 的组件以用于响应式表单,它只是一个输入元素的包装器,上面有一些管道。
我注入了 NgControl 以检索 valid/invalid 状态并将它们传播到内部输入元素。
当在另一个输入中找到输入值时,它是无效的。
在 Stackblitz 上工作正常,但是当我进行 ng build --prod 时,它引发了错误:
ERROR in : No provider for NgControl ("[ERROR ->])
你看到什么问题了吗?
谢谢!
您好,您可以为您的 NgControl 添加“@Optional”装饰器。如果找不到提供商,它将使用 null。有关详细信息,请查看:https://angular.io/api/core/Optional
在您的代码中:
import { Component, Input, OnInit, Self,Optional } from '@angular/core';
...
constructor(
@Self() @Optional() private controlContainer: NgControl
) {
this.controlContainer.valueAccessor = this;
}