Yoo*_*ooz 8 javascript node.js webstorm typescript
我遇到了webstorm打字稿编译器的问题.我有以下课程
export class rootData{
id:string
//...
constructor(){
//...
}
insert = ():Promise<any> =>{
//...
}
}
class child extends rootData {
//...
constructor(){
super();
}
insert = ():Promise<any> => {
return super.insert();
}
}
Run Code Online (Sandbox Code Playgroud)
所以输入"super",我在intellisense中看到所有rootData公共方法.但是在设置super.insert()之后,我收到以下错误:
TS2340:只能通过'super'关键字访问基类的公共和受保护方法
在TS游乐场尝试,它正在工作(简化版思想).
谢谢你的帮助.
编辑:检查编译的JavaScript后,超级方法的调用就在那里.所以编译器给出了一个错误,但编译...
bas*_*rat 19
因为super调用被重定向到prototype你不能使用property和需要使用method即不能使用= ()=>.
固定代码:
export class rootData{
id:string
//...
constructor(){
//...
}
insert():Promise<any>{
//...
}
}
class child extends rootData {
//...
constructor(){
super();
}
insert():Promise<any> {
return super.insert();
}
}
Run Code Online (Sandbox Code Playgroud)