我有一个A类,它拥有一个包含多个字符串的对象的访问器。 整个过程提供了一种简单的方法来获取调用Vertx API的URL。
我的问题是我想在继承A类的子类B中重载此API。
类似的东西:
class A {
get api () {
return {
GET_LESSON : '/lesson/',
};
}
}
class B extends A{
get api () {
return _.extend(super.api, {
GET_CALL : '/lesson/call/',
});
}
}
但它不起作用,我收到错误:
TS2340:Only public and protected methods of the base class are accessible via the 'super' keyword.
为什么会出现此错误?它是Typescript Accessors的预期行为吗?
答案 0 :(得分:1)
它是Typescript Accessors的预期行为
是。这是在这里跟踪:https://github.com/Microsoft/TypeScript/issues/338
尚未支持的原因:当前super
查找非常简单。如上所述,更改有性能影响的问题。