问题描述

在练习本地资源存储的时候,需要将数据存放在浏览器内,存放的时候需要使用到监视属性,实现每次更新都重新存储。
于是在操作过程中遇到了这个类型的问题。现已解决

在这里插入图片描述

[Vue warn]: Error in callback for watcher "lss": "TypeError: Cannot read properties of undefined (reading 'apply')"大概的意思是,在监视lss属性的时候,回调函数不能为undefined。这是一个比较粗心的问题,每一个监视属性都需要写一下handler(新值){}函数。函数名不能写错,我遇到这个问题就是因为函数名拼写错误了,监视属性回调handler的时候找不到,报错。

问题解决方法

原代码

watch:{
  lss:{
    deep:true,
    // 这里的拼写不要写错了,否则会报错
    Handler(newvalue){
      console.log(this.lss)
      localStorage.setItem("lss",JSON.stringify(newvalue))
    }
  }
}

更改后的代码

watch:{
  lss:{
    deep:true,
    // 这里的拼写不要写错了,否则会报错
    handler(newvalue){
      console.log(this.lss)
      localStorage.setItem("lss",JSON.stringify(newvalue))
    }
  }
}

不要过于依赖编译器,遇到这个错误的原因就是将handler写成了Handler,全部归功于vscode插件,一步步把我带偏,最后经过多处打印,多处调试才想起来检查一下函数名的事,希望大家不要学我粗心又费时间。


在这里插入图片描述


Logo

前往低代码交流专区

更多推荐