我有一个使用ComponentFactoryResolver动态创建的组件
this.container.clear();
let factory = this.resolver.resolveComponentFactory(DynamicComponent);
this.componentRef = this.container.createComponent(factory);
template: '...<child-component [param1]="param1"></child-component>...';
问题是DynamicComponent的模板有子组件和输入绑定。有没有办法在动态创建组件时将参数传递给子组件?
答案 0 :(得分:3)
是这样的:
const factory = this.componentFactoryResolver.resolveComponentFactory(LoginComponent);
const component: ComponentRef<LoginComponent> = this.viewContainerRef.createComponent(factory);
component.instance.user = "prop 1";
component.instance.input2 = "prop 2";
答案 1 :(得分:1)
是的,实现它的最简单方法是:
JSON Values: id=991, name=GPSname, address=GPSaddress, lat=52.948616, lng=-1.169131, type=GPStype
但请注意,此解决方案容易出错。如果param1随时间变化,你可以得到
EXCEPTION :表达式在检查后发生了变化。
这不容易调试。
您可能希望使用依赖注入解决方案,如in this tutorial所述。