关于_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)
 }

以上为个人经验,希望能给大家一个参考,也希望大家多多支持阿兔在线工具。

点赞(0)

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部