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

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

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

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


const 这个 = this;

这个.submit();
qyc666
2020-06-27 17:51:59 +08:00
为什么不用箭头函数
seeker
2020-06-27 18:05:38 +08:00
哪那么多讲究的,我都是 `const this2 = this`
ChanKc
2020-06-27 18:09:00 +08:00
箭头函数,self,that 都可以
xxx749
2020-06-27 18:14:15 +08:00
const context = this
Trim21
2020-06-27 18:21:57 +08:00
我之前看人用的 vm
zhuangzhuang1988
2020-06-27 18:30:52 +08:00
自己怎么爽怎么 来..
ChanKc
2020-06-27 18:32:12 +08:00
@Trim21 vm 就只在 Vue 的场景下比较合适,没有 that 或者 self 通用
ye22st
2020-06-27 18:41:08 +08:00
好的,谢谢各位大佬解答。
BXGo
2020-06-27 18:43:15 +08:00
有文档规范
mxT52CRuqR6o5
2020-06-27 18:50:00 +08:00
没有那种最规范,看团队怎么规定
SilentDepth
2020-06-27 19:51:10 +08:00
没见过有规范明确要求这样处理 this 。只要不产生歧义,并且你(和你的协作者)清楚 this 在代码中的实际指向,怎么写着爽怎么来。
surfwave
2020-06-27 19:53:15 +08:00
用箭头函数啊
Lxxyx
2020-06-27 20:00:04 +08:00
一直用的 ctx 。

```js
const ctx = this;
```
ppgs8903
2020-06-27 20:09:54 +08:00
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