我可以基于Typescript

时间:2019-01-11 15:01:43

标签: angular typescript

我正在使用Angular的模块工厂动态创建一些组件:

const moduleRef = moduleFactory.create(this.injector);
const compFactory = moduleRef.componentFactoryResolver.resolveComponentFactory(moduleRef.instance.widgetComponent);
const componentRef = container.createComponent(compFactory);

我有一个抽象类定义了要创建的小部件,还有一些我在这里删除的其他方法,其中T是Angular组件:

export abstract class WebPartBaseModule<T extends ComponentWidgetBase> { 
  abstract widgetComponent;
}

然后在派生类模块中,我明确设置了所需的组件:

export class HealthCheckModule extends WebPartBaseModule<HealthCheckComponent> {
  widgetComponent = HealthCheckComponent;
}

这很好用,但是我想知道是否有一种方法可以从T推断/分配基类中的类型。从那时起,我就是这样做的,我不需要在每个派生类中分配widgetComponent,但显然不起作用:

export abstract class WebPartBaseModule<T extends ComponentWidgetBase> { 
  widgetComponent = T;
}

0 个答案:

没有答案