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!'  
    }  
  }  
}

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

相关推荐
年老体衰按不动键盘4 分钟前
快速部署和启动Vue3项目
java·javascript·vue
小小小小宇5 分钟前
一个小小的柯里化函数
前端
灵感__idea9 分钟前
JavaScript高级程序设计(第5版):无处不在的集合
前端·javascript·程序员
小小小小宇12 分钟前
前端双Token机制无感刷新
前端
小小小小宇14 分钟前
重提React闭包陷阱
前端
小小小小宇30 分钟前
前端XSS和CSRF以及CSP
前端
UFIT34 分钟前
NoSQL之redis哨兵
java·前端·算法
超级土豆粉41 分钟前
CSS3 的特性
前端·css·css3
星辰引路-Lefan41 分钟前
深入理解React Hooks的原理与实践
前端·javascript·react.js
wyn200011281 小时前
JavaWeb的一些基础技术
前端