角度错误:没有 NgControl 的提供者

2024-07-04

我正在创建一个实现 ControlValueAccessor 的组件,以在响应式表单中使用,它只是输入元素的包装器,上面有一些管道。

我注入了 NgControl 以便检索有效/无效状态并将它们传播到内部输入元素。

当在另一个输入中找到输入值时,该输入值无效。

这是堆栈闪电战 https://stackblitz.com/edit/control-value-accessor-ngcontrol

在 Stackblitz 上工作正常,但是当我ng 构建 --prod它会引发错误:

错误:没有 NgControl 提供程序(“[错误 ->])

你看到什么问题了吗?

Thanks!


您好,您可以为您的 NgControl 添加“@Optional”装饰器。它将使用null如果找不到提供商。欲了解更多信息,请查看:https://angular.io/api/core/Optional 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;
  }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

角度错误:没有 NgControl 的提供者 的相关文章

随机推荐