我正在使用装饰器方法按照excellent post关于按名称显示对象的问题来解决这个问题。代码编译,但我收到运行时错误。
我无法让链接到上面的页面上的游乐场执行:它只会导致一个about:blank。
这是我的装饰代码:
export function RegisterComponent(obj: ComponentType<GalleriaComponentBase>) {
new ComponentRegistry().RegisterComponent(obj);
}
我尝试将我的@RegisterComponent
装饰器应用到组件的基类,obj.name
等于ComponentBase
,这当然是没有用的。
所以,我尝试将装饰器应用于每个派生类,但是我收到以下运行时错误:
Argument of type 'typeof RepositoryComponent' is not assignable to parameter of type 'new () => ComponentBase'.
ComponentBase
看起来像这样:
export class GalleriaComponentBase {
refreshComponent() {};
getCustomUserComponentTypeFriendlyName() {};
}
有人可以帮忙吗?