Vue中data没有写return报Cannot read property ‘__ob__‘ of undefined错误

最近需到一个在开发中很常见错误,原因是自己开发时没仔细检查代码,删除数据时把data中return一并删除了,导致路由跳转点击无反应。data函数在Vue中是一个特殊的方法,用于定义组件的本地状态。经翻阅相关文档,了解到它必须返回一个对象,该对象包含在组件中使用的各种数据属性。

错误写法:

javascript 复制代码
export default {  
  data() {  
  
  }  
}

如果您的data函数没有返回任何东西(或者返回null或一个非对象值),那么您可能会看到类似的错误消息,指示数据未定义或未预期的类型的错误。如下:

javascript 复制代码
vue.min.js:6 TypeError: Cannot read property '__ob__' of undefined
    at a.e.$destroy (vue.min.js:6)
    at destroy (vue.min.js:6)
    at b (vue.min.js:6)
    at b (vue.min.js:6)
    at b (vue.min.js:6)
    at a.__patch__ (vue.min.js:6)
    at a.e.$destroy (vue.min.js:6)
    at destroy (vue.min.js:6)
    at b (vue.min.js:6)
    at $ (vue.min.js:6)

如上问题,解决办法是要么不写data(){},要么必须写return返回对象;确保您的data函数始终返回一个对象,以包含您需要在组件中使用的数据属性。

一个基本的data函数示例,其中返回一个对象,包含一个名为message的属性:

javascript 复制代码
export default {  
  data() {  
    return {  
      message: 'Hello Vue!'  
    }  
  }  
}

在以前项目开发中有人遇到此类错误,大家一起分析过,没想到事隔大半年因自己粗心大意,也犯了这么低级错误。

相关推荐
王解8 分钟前
一篇文章读懂 Prettier CLI 命令:从基础到进阶 (3)
前端·perttier
乐闻x14 分钟前
最佳实践:如何在 Vue.js 项目中使用 Jest 进行单元测试
前端·vue.js·单元测试
遇到困难睡大觉哈哈25 分钟前
JavaScript面向对象
开发语言·javascript·ecmascript
檀越剑指大厂28 分钟前
【Python系列】异步 Web 服务器
服务器·前端·python
我是Superman丶30 分钟前
【前端】js vue 屏蔽BackSpace键删除键导致页面后退的方法
开发语言·前端·javascript
Hello Dam32 分钟前
基于 Spring Boot 实现图片的服务器本地存储及前端回显
服务器·前端·spring boot
小仓桑33 分钟前
利用 Vue 组合式 API 与 requestAnimationFrame 优化大量元素渲染
前端·javascript·vue.js
Hacker_xingchen33 分钟前
Web 学习笔记 - 网络安全
前端·笔记·学习
天海奈奈34 分钟前
前端应用界面的展示与优化(记录)
前端
多多*1 小时前
后端并发编程操作简述 Java高并发程序设计 六类并发容器 七种线程池 四种阻塞队列
java·开发语言·前端·数据结构·算法·状态模式