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

2020 年 6 月 27 日
 ye22st

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

4951 次点击
所在节点    程序员
43 条回复
nianyu
2020 年 6 月 27 日
let self = this 没问题,以前很多库的源码都是这么写的,这东西无所谓的
ujued
2020 年 6 月 27 日
let forClosure = this
loading
2020 年 6 月 27 日
let that=this
或者
let _this=this
sagaxu
2020 年 6 月 27 日
写 const 也行
Biwood
2020 年 6 月 27 日
既然已经用 let 关键字了,那么完全可以用箭头函数来规避这种语法,我反正是从写 ES6 开始很久都没这么写了,除非你有什么特殊需求?
Hanggi
2020 年 6 月 27 日
这个问题上次不是都说了嘛:


const 这个 = this;

这个.submit();
qyc666
2020 年 6 月 27 日
为什么不用箭头函数
seeker
2020 年 6 月 27 日
哪那么多讲究的,我都是 `const this2 = this`
ChanKc
2020 年 6 月 27 日
箭头函数,self,that 都可以
xxx749
2020 年 6 月 27 日
const context = this
Trim21
2020 年 6 月 27 日
我之前看人用的 vm
zhuangzhuang1988
2020 年 6 月 27 日
自己怎么爽怎么 来..
ChanKc
2020 年 6 月 27 日
@Trim21 vm 就只在 Vue 的场景下比较合适,没有 that 或者 self 通用
ye22st
2020 年 6 月 27 日
好的,谢谢各位大佬解答。
BXGo
2020 年 6 月 27 日
有文档规范
mxT52CRuqR6o5
2020 年 6 月 27 日
没有那种最规范,看团队怎么规定
SilentDepth
2020 年 6 月 27 日
没见过有规范明确要求这样处理 this 。只要不产生歧义,并且你(和你的协作者)清楚 this 在代码中的实际指向,怎么写着爽怎么来。
surfwave
2020 年 6 月 27 日
用箭头函数啊
Lxxyx
2020 年 6 月 27 日
一直用的 ctx 。

```js
const ctx = this;
```
ppgs8903
2020 年 6 月 27 日
let that = this
其他都容易冲突,self 用在 类 CLASS 的方案里面,不建议

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

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

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

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

© 2021 V2EX