我是打字稿新手,正在使用Wijimo库,并且正在尝试实现以下接口
interface IItemCreator<T = any> {
(): T;
}
我尝试了以下
export class SystemPageModel implements wijmo.collections.IItemCreator<SystemPageModel> {
constructor(): SystemPageModel {
return new SystemPageModel();
}
public PK: Guid;
public Name: string;
public SystemName: string;
public SystemTypePK: string;
public ff(): SystemPageModel { };
}
答案 0 :(得分:1)
首先,您不能在类中实现此接口。这是一个功能界面。
此外,您不应在构造函数中编写return new SameClass()
,因为这将导致无限循环。
实现此目的的示例是:
export class SystemPageModel {
constructor() {
}
public PK: Guid;
public Name: string;
public SystemName: string;
public SystemTypePK: string;
}
// ....
const systemPageModelCreator: IItemCreator<SystemPageModel> = (): SystemPageModel => {
return new SystemPageModel();
};