StackBlitz
учаю ошибку:
ERROR Error: StaticInjectorError(AppModule)[ControlDirective -> NgControl]:
StaticInjectorError(Platform: core)[ControlDirective -> NgControl]:
NullInjectorError: No provider for NgControl!
at _NullInjector.get (core.js:1002)
at resolveToken (core.js:1300)
at tryResolveToken (core.js:1242)
at StaticInjector.get (core.js:1110)
at resolveToken (core.js:1300)
at tryResolveToken (core.js:1242)
at StaticInjector.get (core.js:1110)
at resolveNgModuleDep (core.js:10854)
at NgModuleRef_.get (core.js:12087)
at resolveDep (core.js:12577)
Когда я пытаюсь внедрить NgControl в конструктор моего компонента следующим образом:
constructor(
public renderer: Renderer2,
public hostElement: ElementRef,
private control: NgControl,
) {
console.log(control);
}
Я попытался добавить его в качестве поставщика в моем модуле, но похоже, что это неInjectable
больше.
То, что я пытаюсь сделать, это в ответ наэтот вопрос, Я вижу ряд старых вопросов SO, где вводится NgControl, но похоже, что формы в Angular немного изменились по сравнению с более ранними версиями.
Что мне нужно сделать, это захватить контроль и добавить валидаторы. Что я должен сделать по-другому, чтобы получить доступ к элементу управления, чтобы сделать это?