typescriptv2.1.0
我编写了以下ServerRouter.ts
从“express”导入{Router,Request,Response,NextFunction};
导出类服务器路由器{
路由器:路由器;
/**
*初始化服务器路由器
*/
构造函数(){
this.router=router();
this.init();
}
/**
*获取索引页
*/
公共getIndex(请求:请求,响应:响应,下一步:NextFunction){
res.render(“索引”);
}
/**
*取下每个处理器,并连接到一个Express.Router
*端点。
*/
init(){
this.router.get('/',this.getIndex);
}
}
//创建ServerRouter,并导出其配置的Express.Router
const serverRouter=new serverRouter().router;
导出默认服务器路由器;
网络风暴检查警告
>;方法可以是静态的
有关getIndex()函数的问题:
但是
如果我把它改成静态的
公共静态getIndex()
,我得到一个错误:类型“ServerRouter”上不存在TS2339“getIndex”
我应该换什么
谢谢你的反馈
静态方法存在于类上,而不是对象实例上。您必须在init
函数中将this.getIndex
更改为ServerRouter.getIndex
WebStorm建议如果方法不涉及实例的任何状态,就将其设为静态,因为它表明该方法存在于该类的所有实例的通用级别
您可以在TypeScript手册(参见“静态属性”部分)中找到有关静态的更多信息