我正在尝试在任何容器内构建一个动态组件。我需要在动态创建的组件内的角度世界中提供一些预定义的服务和注入。造成这种情况的主要原因是有一个外部服务负责组件的外观,但需要在客户端的组件上执行其他操作。
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);
});
将参数注入或传递给动态创建的构造函数的最佳方法是什么?