小编Cle*_*ouz的帖子

构造函数不提供新签名的匹配项

在这种情况下,我遇到了“编译”问题:

interface IDataObjectConstructor {
    new (objJSON?: any): myDataObject;
}

class myDataObject implements IDataObjectConstructor {
    constructor(objJSON: any = null) {
        for (var prop in objJSON) {
            this[prop] = objJSON[prop];
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

它说:

类“ myDataObject”错误地实现了接口“ IDataObjectConstructor”。

类型'myDataObject'不提供签名'new(objJSON ?: any):myDataObject'的匹配项

最后,我想像这样使用此对象:

class viewModelList<T extends myDataObject>{
    item: T;
    constructor(itemType: T) { this.item = itemType; }

    itemBuilder(json?) { return new this.item(json); }
}

class derivedDataObject extends myDataObject{
    constructor(objJSON: any = null) { super(objJSON); }
}

class derivedViewModelList extends viewModelList<derivedDataObject>{

    constructor() { super(derivedDataObject); }
} …
Run Code Online (Sandbox Code Playgroud)

typescript

9
推荐指数
2
解决办法
6819
查看次数

标签 统计

typescript ×1