问题描述
在练习本地资源存储的时候,需要将数据存放在浏览器内,存放的时候需要使用到监视属性,实现每次更新都重新存储。
于是在操作过程中遇到了这个类型的问题。现已解决
[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插件,一步步把我带偏,最后经过多处打印,多处调试才想起来检查一下函数名的事,希望大家不要学我粗心又费时间。