在 vue 里面到底哪种写法比较规范?

2020-06-27 16:07:31 +08:00
 ye22st

我看到很多项目里面对于 this 指向的写法都是 let self = this; 有些人跟我说就这样写,有些人又说这种写法不规范? 请教一下 V 站的大佬,哪种比较规范?

4256 次点击
所在节点    程序员
43 条回复
ChanKc
2020-06-27 20:38:04 +08:00
@ppgs8903 这个怎么说?
zhuisui
2020-06-27 20:58:14 +08:00
@ChanKc 比如 self 在 webpack 被导出作为 this 的别名是很常见的,所以认为它应该是 window 的别名
Vegetable
2020-06-27 21:45:23 +08:00
变量名还有啥规范,纯粹一点好吗,何况现在有箭头函数
ChanKc
2020-06-27 23:00:04 +08:00
wish8023
2020-06-27 23:22:48 +08:00
建议用 ES6 语法,在现代浏览器,基本都可用了。
WilliamLin
2020-06-28 08:18:23 +08:00
let _this = this
hitaoguo
2020-06-28 09:07:48 +08:00
能不要新定义个变量就不要定义,这样能加深你对 this 指向的理解。
大部分情况下用箭头函数就能解决。
除非说在函数里面有它自己的 this 需要用到,同时还需要外部的 this,那么写 vue 的话我一般是 let vm = this 。
gitjavascript
2020-06-28 09:35:44 +08:00
反正 let 肯定是不好的
guanhui07
2020-06-28 09:38:19 +08:00
_this 或
that 用的人比较多
cz5424
2020-06-28 10:29:39 +08:00
建议改成 ES6,不用 this 。this 真烦
TomatoYuyuko
2020-06-28 10:30:42 +08:00
见过用 entity = this 的也不错,
Junh
2020-06-28 10:32:16 +08:00
这好像和 vue 没什么关系吧
optional
2020-06-28 11:08:43 +08:00
为啥是 let ? 这里显然应该用 const
`
const self = this
const $this = this
const _this = this
·
Tdy95
2020-06-28 11:17:09 +08:00
业务代码里面使用箭头函数,保证 this 指向不丢失即可。

vue 的生命周期等方法调用的时候都帮你把 this 实例注入了好了
wobuhuicode
2020-06-28 11:19:58 +08:00
其实写习惯了 C 系列语言都喜欢 let self = this
写习惯 java 的估计就喜欢 let that = this
写习惯前端的都喜欢用箭头函数。
xiangyuecn
2020-06-28 12:27:44 +08:00
This
Martox
2020-06-28 14:02:12 +08:00
let that = this
soulmt
2020-06-28 14:04:27 +08:00
我就觉得很 low 多此一举不是么
soulmt
2020-06-28 17:32:09 +08:00
@hitaoguo 对,如果不是为了区分 2 个 this 不一致, 完全没必要申明一个新的;
sunwang
2020-06-28 17:36:55 +08:00
有了箭头函数就没用过这个写法了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/685063

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX