位置: IT常识 - 正文
目录
一、问题
二、解决方法
三、总结
推荐整理分享vue watch报错:Error in callback for watcher “xxx“: “TypeError: Cannot read properties of undefined ...(vue的watch不生效),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:vue的watch不生效,vue watched,vue的watch不生效,vue watcher dep,vue watch computed methods,vue的watch不生效,vue watched,vue watched,内容如对您有帮助,希望把文章链接给更多的朋友!
1.监听了一个data里面的对象竟然报错了,错误还奇奇怪怪的:不能在 undefined上使用 apply方法
1)详细错误如下:
vue.esm.js?9b69:5059 [Vue warn]: Error in callback for watcher "flowCategory": "TypeError: Cannot read properties of undefined (reading 'apply')"found in---> <FlowItem> at src/projects/comen/implemenceWorkstation/flowSetting/FlowItem.vue <ElTabPane> at packages/tabs/src/tab-pane.vue <ElTabs> at packages/tabs/src/tabs.vue <View> at src/views/implemenceWorkstation/flowSetting/view.vue <Index> at src/layout/index.vue <App> at src/App.vue <Root>warn$2 @ vue.esm.js?9b69:5059logError @ vue.esm.js?9b69:3728globalHandleError @ vue.esm.js?9b69:3724handleError @ vue.esm.js?9b69:3691invokeWithErrorHandling @ vue.esm.js?9b62)代码如下:
watch: { flowCategory: { hanlder(newval, oldval) { console.log('flowCategory', newval, oldval); }, deep: true } }二、解决方法1.是不是看着上面的代码没问题,我也是很自信,不就是在handler函数中打印了变化前后的值吗?写法就是这样啊,我也是这样自信。
2.找了半天发现自己 把 handler 这个单词写错了 ,敲错了写成'hanlder“了,ide也没有提示 &***&
改成下面这样就可以了
watch: { flowCategory: { handler(newval, oldval) { console.log('flowCategory', newval, oldval); }, deep: true } }3.现在终于明白报错:是为了告诉我们handler出问题了,watch不知道监听到变化时要干什么。
三、总结1.报上面这个错误表示handler函数写的有问题。你可以检查以下几点:
1)handler函数有没有写
2)handler有没有拼写正确(虽然有点愚蠢,但是我今天确实是因为这个……)
3)handler函数不能是箭头函数(this指向变化后,apply也是有问题的)
2.啊,愚蠢的我。
/*
希望对你有帮助!
如有错误,欢迎指正!非常感谢!
*/
上一篇:hpzts04.exe是什么进程 有什么作用 hpzts04进程查询
下一篇:从国际空间站看纽约市 (© NASA Photo/Alamy)(从国际空间站看木星)
友情链接: 武汉网站建设