最近在学习ng2,同时也在学习TypeScript。发现在webstorm中,有些方法老是会提示method can be static
。这让我很膈应啊,就是下面这个样子:
我很绝望啊。为啥要建议方法为静态方法呢?然后google到了这篇文章https://stackoverflow.com/questions/43052041/typescript-method-can-be-static
原来外国友人也有这个苦恼啊。
这个文章的回答,大致意思是:
如果一个方法不触及任何实例状态,那么webstorm建议这个方法为静态。
确实,这个方法的主要目的就是复制dom对应id里面的内容,确实是可以设置为静态,但是我要在模板中使用这个方法,设为静态方法后就没法子在模板中调用了。所以处于两难之中,写成静态吧,模板中无法使用;不设为静态吧,老是提示这个错误很膈应人。
所以考虑关掉这个提示,但是又不知道在哪里关闭。还是继续google。终于找到了一篇文章:https://hk.saowen.com/a/f689246079cd300acd79c7016668abe315b8dee4c32c6adbd2d5a226703e1d37。里面很明确的告诉了如何关闭这个提示。
去掉这个勾选就好了
还是要感谢google啊,满分?,百度了半天百度了些乱七八糟的玩意,根本搜不到自己想要的~?
更新:2019.5.15
其实细想下,为什么要建议方法为静态方法呢?因为这个方法里面没有任何this
。this
代表的是这个类的实例,既然和实例没关系的方法,那么是推荐定义为静态方法,这样可以在其他类中直接调用而不用实例化。
所以,这个提示是正确的,也许你真的需要把这个方法定义为静态方法,而不是去阻止这个提示。?
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。