Угловая ОШИБКА в: Нет поставщика для NgControl - PullRequest
1 голос
/ 21 марта 2019

Я создаю компонент, реализующий ControlValueAccessor для использования в Реактивной форме, это просто оболочка элемента ввода с некоторым каналом на нем.

Я ввел NgControl, чтобы получитьдопустимое / недействительное состояние и распространение их на внутренний элемент ввода.

Когда входное значение найдено в другом входе, оно недопустимо.

Вот Stackblitz

В Stackblitz работает нормально, но когда я в ng build --prod выдает ошибку:

ОШИБКА в: Нет провайдера для NgControl ("[ОШИБКА ->])

Видите ли вы какие-либо проблемы?

Спасибо!

1 Ответ

1 голос
/ 21 марта 2019

Здравствуйте, вы можете добавить "@Optional" Decorator для вашего NgControl. Он будет использовать 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;
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...