vue中methods为什么不能是箭头函数?

本文探讨了Vue中箭头函数导致的this指向问题,解释了methods内的函数在没有特殊绑定时,this指向window而非data。为解决这一问题,Vue源码通过bind确保函数的this绑定到data作用域,从而能正确操作data属性。理解这一机制对于优化Vue应用的代码编写至关重要。

箭头函数的this绑定的是父级作用域的上下文,methods是对象,不是作用域;methods里的方法找到的父级作用域是script标签下的作用域,即this指向的是window,而不是data函数的作用域,因此访问不了data中定义的属性了,这与我们要在方法里操作data的属性相违背。

在vue的源码中,遍历普通函数,使用bind方法让this指向data函数的作用域,使之可以操作data中的属性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值