vue中关于_ob_:observer的处理方式

2022-08-01,,

关于_ob_:observer的处理

在使用this.list.push()后,会出现_ob_:oberver这样的对象。

网上很多地方说使用这个方法:

json.parse(json.stringify(this.list))

但是很多人试了没用,他们可能是这么写的

this.list=json.parse(json.stringify(this.list))
console.log(this.list)

但其实是这个是有用的,弄一个新变量再输出

let nerarr = json.parse(json.stringify(this.list))

简而言之,如果碰到这种问题,不要使用data()里面定义的数据直接操作,要操作前,请先new一个对象

vue中[__ob__: observer]问题

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

 我就遇到了这种,在created中已经赋值了,但在mounted中又没有,或者有取不到值,如下图

收了很多,有的说用json.parse(json.stringify(数组))再进行赋值但没有用后面看来很多终于解决了

因为vue取值的方式是ajax异步的,我们还没取到值就开始用了,直接使用一个定时器就可以解决

mounted() {
 settimeout(()=>{
 //这里就写你要执行的语句即可,先让数据库的数据加载进去数组中你在从数组中取值就好了
 },800)
 }

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

《vue中关于_ob_:observer的处理方式.doc》

下载本文的Word格式文档,以方便收藏与打印。