Я пытаюсь построить динамический компонент внутри любого контейнера. Мне нужны были некоторые предопределенные сервисы и инъекции, доступные в угловом мире внутри динамически создаваемого компонента. Основной причиной этого является внешний сервис, который отвечает за внешний вид компонента, но для компонента на стороне клиента необходимо выполнить дополнительные действия.
private elementRef: ElementRef в конструкторе динамического компонента для причин внедренияпроблема, и он не может предоставить значения для инъекций. Получение ошибки - «Ошибка ОШИБКИ: невозможно разрешить все параметры для Xyz: (?).»
const component = Component({
template: div,
selector: 'test'
})(
class Xyz {
constructor(private elementRef: ElementRef) { }
});
const module = NgModule({ declarations: [component] })(class {
});
this.compiler.compileModuleAndAllComponentsAsync(module)
.then((factories) => {
const f = factories.componentFactories[0];
const cmpRef = f.create(this.injector, [], null, this.ngModuleRef);
container.clear();
container.insert(cmpRef.hostView);
});
Каков наилучший способ ввода или передачи параметров в конструктор, который создается динамически?