打字稿空括号界面

时间:2020-07-29 13:14:27

标签: typescript wijmo

我是打字稿新手,正在使用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 { };
}

1 个答案:

答案 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();
};