为什么vue组件的生命钩子里不能使用箭头函数
箭头函数的this会向上搜索作用域,并指向那个作用域。
而vue组件的声明钩子,例如methods:{ func1():{},func2():{}},本质上来说methods是一个属性,或者变量,没有作用域,而data(){}是一个函数,是有自己作用域的,因此在methods里使用钩子函数时,this无法访问data的作用域。
因为 箭头函数 存在一个特性就是其中不存在this,会向上一层作用域中进行查找,其中上一层作用域必须为函数作用域或者是全局作用域
js里作用域一般就是函数的作用域和全局作用域。实际上我对js里的作用域也还是一知半解
参考链接:
(129条消息) Vue中为什么不能使用箭头函数来定义methods函数(详解)_佐宗的博客-CSDN博客_method为什么不能用箭头函数
(129条消息) vue中methods中的方法为什么不能使用箭头函数,其中的this指向什么?_卖菜的小白的博客-CSDN博客_method 为什么不能使用箭头函数