[英]Angular 4: Argument of type 'typeof CLASS' is not assignable to parameter of type 'INTERFACE'
我在玩角度的動態組件。 但是我遇到了一個我不知道如何解決的問題。
我有這個界面。
export interface InjectableComponent{
setData(data: any): void;
}
類實現接口。
export class DemoComponent implements InjectableComponent {
setData(data: any): void {
}
}
使用接口作為參數類型的函數。
openComponent(component: InjectableComponent, data: any) {
let componentFactory = this.componentFactoryResolver.resolveComponentFactory(<any>component);
this.placeholder.clear();
let componentRef = this.placeholder.createComponent(componentFactory);
(<InjectableComponent>componentRef.instance).setData(data);
}
調用功能。
openComponent(DemoComponent, null); <-- ERROR
收到此錯誤:
Argument of type 'typeof DemoComponent' is not assignable to parameter of type 'InjectableComponent'.
Property 'setData' is missing in type 'typeof DemoComponent'.
有人可以向我解釋為什么這行不通嗎? 可能的解決方法?
看來openComponent
方法需要一個實例:
const demoComponent = new DemoComponent()
...
openComponent(demoComponent, null);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.