欢迎光临
我们一直在努力

vue watch报错Error in callback for watcher "xxx":"TypeError如何解决

这篇文章主要介绍“vue watch报错Error in callback for watcher "xxx":"TypeError如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue watch报错Error in callback for watcher "xxx":"TypeError如何解决”文章能帮助大家解决问题。

一、问题

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:5059
logError @ vue.esm.js?9b69:3728
globalHandleError @ vue.esm.js?9b69:3724
handleError @ vue.esm.js?9b69:3691
invokeWithErrorHandling @ vue.esm.js?9b6

2)代码如下:

  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不知道监听到变化时要干什么。

关于“vue watch报错Error in callback for watcher "xxx":"TypeError如何解决”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注云搜网行业资讯频道,小编每天都会为大家更新不同的知识点。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。