vue中关于_ob_:observer的处理方式
作者:JosiahH
这篇文章主要介绍了vue中关于_ob_:observer的处理方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
关于_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) }
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。