有没有办法动态创建需要构造函数参数的组件?
澄清一下:我使用ComponentFactory创建组件,如下所示:
const factory = this.resolver.resolveComponentFactory(MyComponent);
const componentRef: ComponentRef<MyComponent> = this.myInsertionpoint.createComponent(factory);
该组件有一个只读字段,应该通过构造函数设置。
export class MyComponent {
private readonly _myField: MyField;
constructor(myField: MyField) {
this._myField = myField;
}
...
}
我知道我可以删除readonly一个字段就像
component.instance.myField = "myValue";
...但我宁愿保留原样,因为只应在创建组件时设置字段。
正确的语法是
export class MyComponent {
constructor(
private readonly _myField: MyField
) {}
}
这是你所写内容的简写,但它符合linter。