我正在尝试使用 a Proxy
,但我遇到了问题。我有这样的课:
export class Builder {
public doSomething(...args: (string | number | Raw | Object)[]): this {
// Do stuff
return this
}
}
export class ModelBase extends Builder {
protected _items = {}
}
export class Model extends ModelBase {
public constructor(options?: ModelSettings) {
super(options)
return new Proxy(this, {
get: function (target, property) {
return target._items[property] || target
}
})
}
public static create() {
return new this()
}
}
然后我像这样扩展Model
:
export class MyClass extends Model {
public constructor() {
super({/* Some options go here */})
// Do some stuff
}
public static getItems() {
let t = this.create()
t.doSomething()
}
}
然后我调用getItems()
它创建类的一个实例。
MyClass.getItems()
当我运行它时,我收到错误:
TypeError: t.doSomething 不是函数
doSomething()
班内在哪里ModelBase
。如果我注释掉Proxy
一切照常工作。所以,我想知道为什么我不能访问父类。