Я собрал пользовательский компонент поля автозаполнения в stackblitz на основе учебника по пользовательскому полю формы, предоставленного Angular Material. Вот оно:
https://stackblitz.com/edit/my-custom-autocomplete
Когда я обслуживаю этот проект с моего локального компьютера, я получаю следующую ошибку:
Error: Can't resolve all parameters for AutoCompleteControlComponent: ([object Object], [object Object], ?, [object Object]).
По сути, каждая служба, внедренная в конструктор, дает сбой. Вот конструктор
constructor(
private focusMonitor: FocusMonitor,
private elementRef: ElementRef<HTMLElement>,
@Optional() @Self() public ngControl: NgControl | null,
private autofillMonitor: AutofillMonitor,
) {
if (ngControl) {
this.ngControl.valueAccessor = this;
ngControl.valueAccessor = this;
}
}
Это моя локальная конфигурация:
Angular CLI: 8.3.24
Node: 12.14.1
OS: linux x64
Angular: 8.2.14
... animations, common, compiler, compiler-cli, core, elements
... forms, language-service, platform-browser
... platform-browser-dynamic, router
Package Version
-----------------------------------------------------------
@angular-devkit/architect 0.803.24
@angular-devkit/build-angular 0.803.24
@angular-devkit/build-optimizer 0.803.24
@angular-devkit/build-webpack 0.803.24
@angular-devkit/core 8.3.24
@angular-devkit/schematics 8.3.24
@angular/cdk 8.2.3
@angular/cli 8.3.24
@angular/material 8.2.3
@ngtools/webpack 8.3.24
@schematics/angular 8.3.24
@schematics/update 0.803.24
rxjs 6.5.4
typescript 3.5.3
webpack 4.39.2
В другом посте я читал, что эта ошибка связана с бочковыми файлами, поэтому я удалил все бочечные файлы и теперь элемент управления теперь больше распознается как поле mat-form с полем Error: "mat-form-field must contain a MatFormFieldControl."
. Вот модифицированный блиц:
https://stackblitz.com/edit/my-custom-autocomplete-zmmovs
Я полностью потерян. Любая помощь будет высоко ценится!