2022-05-17 [Vue warn]: Error in callback for watcher "xxx": "TypeError: Cannot set property 'name' of undefined
前言:在vue项目业务中,监听一个变量,在给变量赋值的时候报如上错误。
原因:监听变量的方法使用了箭头函数。
解释:由于箭头函数会自动绑定了上下文对象到this中,所以在该函数内想要给this.xxx赋值是会报未定义的。因为箭头函数内的this指向它本身,而非我们需要的vue实例。
解决方案1:把箭头函数改为function()形式;
解决方案2:在data中设置一个变量保存this的值,然后在watch中使用。
注:我这里写得比较笼统,具体可阅读这篇文章:http://t.csdn.cn/MymOW