当前位置:  开发笔记 > 编程语言 > 正文

打字稿:方法可以是静态的

如何解决《打字稿:方法可以是静态的》经验,为你挑选了1个好方法。

typescript v 2.1.0

我写了以下ServerRouter.ts

import {Router, Request, Response, NextFunction} from 'express';

export class ServerRouter {
  router: Router;

  /**
   * Initialize the ServerRouter
   */
  constructor() {
    this.router = Router();
    this.init();
  }

  /**
   * GET index page
   */
  public  getIndex(req: Request, res: Response, next: NextFunction) {
    res.render('index');
  }

  /**
   * Take each handler, and attach to one of the Express.Router's
   * endpoints.
   */
  init() {
    this.router.get('/', this.getIndex);
  }

}

// Create the ServerRouter, and export its configured Express.Router
const serverRouter = new ServerRouter().router;
export default serverRouter;

Webstorm检查警告

>方法可以是静态的

关于getIndex()函数引发:

如果我把它改成静态

public static getIndex()

,我得到一个错误:类型'ServerRouter'上不存在TS2339'getIndex'

我应该改变什么?

谢谢你的反馈



1> Ben Elliott..:

静态方法存在于而不是对象实例上.你将不得不改变this.getIndexServerRouter.getIndex你的init功能.

WebStorm建议如果方法不触及实例的任何状态,则使方法保持静态,因为它表明该方法存在于该类的所有实例的通用级别.

您可以static在TypeScript手册中找到更多相关信息(请参阅"静态属性"部分).

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有