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

posted @ 2022-05-17 13:47  叶乘风  阅读(1689)  评论(0编辑  收藏  举报