箭头函数的this绑定的是父级作用域的上下文,methods是对象,不是作用域;methods里的方法找到的父级作用域是script标签下的作用域,即this指向的是window,而不是data函数的作用域,因此访问不了data中定义的属性了,这与我们要在方法里操作data的属性相违背。
在vue的源码中,遍历普通函数,使用bind方法让this指向data函数的作用域,使之可以操作data中的属性。
本文探讨了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中的属性。
1020
2027
7644
770

被折叠的 条评论
为什么被折叠?