当使用Class作为Type时,不能使用它的静态方法

时间:2015-11-01 11:06:14

标签: class types typescript

有两个类:

class Observer {
    static Update(value) { }
}
class ObserverList {
    private observerList: Observer[];
    constructor() {
        this.observerList = [];
    }
    Get(index: number): Observer {
        if (index > -1 && index < this.observerList.length) {
            return this.observerList[index];
        }
    }
}

我这样使用:

var obList=new ObserverList();
obList.Get(3).Update();

然后警告我Property 'Update' does not exist on Type Observer。 这是使用Class Observer作为返回类型的错误方法吗?

enter image description here

1 个答案:

答案 0 :(得分:1)

您不应将Observer.Update方法用作静态。

同样在打字稿中,使用类型签名标记观察者方法的好习惯,如下面的代码片段所示:

class Observer {
    public Update(value: <yourParameterType>): void { }
}

如果您有此Observer类,则可以在其上调用Update方法

obList.Get(3).Update();