vue中__ob__: Observer的踩坑记录

 更新时间:2023年10月17日 08:58:17   作者:有玉微凉,是为樱琅  
这篇文章主要介绍了vue中__ob__: Observer的踩坑记录,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

vue中__ob__: Observer踩坑

问题分析

看这个问题的朋友先看看情况是不是和我一样,再往下看

我的问题是一个对象数组,push进去对象的话,打印出来看,显示的是 [ob: Observer],点看能看到里面的数据,但是我遍历他的话一个值也拿不到,拿到的是空值,如果push的普通的数字,字符串啥的就没事。

如果问题一样的话可以继续往下看了。

经过半天的各种分析,网上看博客,然后自己也尝试了在不同位置打console.log和断点查看,

发现在给对象数组中push进去数据的时候,打印出来就是完美的对象数组,可以遍历,但是我要用的时候的那个地方打印出来就是这样的 [ob: Observer],而且他的console比push数据的地方打印出来的快,提前打印了,说明了现在是异步操作,我要用的地方数据提前打印了。

解决问题

开始我用了async await 来阻塞它,但是没啥用,最后没办法,只能用监听了

在监听这里不停的操作他,最后才解决了问题

一些小坑

JS中include不能查看对象是否重复

我操作的话是把对象JSON.stringify成字符串,存的时候也是按照这样存,查的时候也这样查,用的时候使用数组的map方法修改他的值,更改之后使用。

vue中__ob__: Observer属性对象

__ob__: Observer是什么?

_ob__: Observer这些数据是vue这个框架对数据设置的监控器,一般都是不可枚举的。

1.vue中为什么[__ob__: Observer]下无法取到数据或者取数据时出现慢一步的情况

_ob__: Observer表示很无辜。一般情况时数据本身的问题,考虑赋值是否时异步了或者慢于监听器。这一点需要注意。

2._ob__: Observer的取用方式

  • 第一种:Object.assign({},this.owner)
  • 第二种:JSON.parse(JSON.stringify(this.list))

3.[ob: Observer]: 可视察数组,不能通过tableData === []这样判断是否为空,需要使用数组的长度判断才有效:tableData.length > 0

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解vue.js实现全屏显示功能示例

    详解vue.js实现全屏显示功能示例

    这篇文章主要为大家介绍了vue.js实现全屏显示功能示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • nuxt.js中间件实现拦截权限判断的方法

    nuxt.js中间件实现拦截权限判断的方法

    这篇文章主要介绍了nuxt.js中间件实现拦截权限判断的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • vue中的依赖注入provide和inject简单介绍

    vue中的依赖注入provide和inject简单介绍

    这篇文章主要介绍了vue中的依赖注入provide和inject简单介绍,provide 选项允许我们指定我们想要提供给后代组件的数据/方法,本文通过组价刷新的案列给大家详细讲解,需要的朋友可以参考下
    2022-11-11
  • vue项目环境搭建 启动 移植操作示例及目录结构分析

    vue项目环境搭建 启动 移植操作示例及目录结构分析

    这篇文章主要介绍了vue项目环境搭建、启动、项目移植、项目目录结构分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • Vite配置代理Proxy解决跨域问题小结

    Vite配置代理Proxy解决跨域问题小结

    我们在做项目的时候经常会遇到跨域的问题,下面这篇文章主要给大家介绍了关于Vite配置代理Proxy解决跨域问题的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-03-03
  • vue项目中如何添加枚举

    vue项目中如何添加枚举

    这篇文章主要介绍了vue项目中如何添加枚举,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • vue+elementUI实现多文件上传与预览功能实战记录(word/PDF/图片/docx/doc/xlxs/txt)

    vue+elementUI实现多文件上传与预览功能实战记录(word/PDF/图片/docx/doc/xlxs/txt)

    这篇文章主要给大家介绍了关于利用vue+elementUI实现多文件上传与预览功能的相关资料,包括word/PDF/图片/docx/doc/xlxs/txt等格式文件上传,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • vue3使用svg图标的多种方式总结

    vue3使用svg图标的多种方式总结

    svg图片在项目中使用的非常广泛,下面这篇文章主要给大家介绍了关于vue3使用svg图标的多种方式,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-03-03
  • 深入理解Vue3组合式API的实现

    深入理解Vue3组合式API的实现

    组合式API为Vue3带来了更好的逻辑组织和复用性,支持TypeScript,提供灵活的响应式系统,它允许开发者将相关逻辑组合在一起,通过composable函数实现逻辑复用,摆脱了mixin的缺点,同时,组合式API与TypeScript的集成更紧密,能够提供更准确的类型推断
    2024-10-10
  • vue中,在本地缓存中读写数据的方法

    vue中,在本地缓存中读写数据的方法

    今天小编就为大家分享一篇vue中,在本地缓存中读写数据的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09

最新评论