__ob__: Observer
第一种情况
在vue的框架中对后台返回数据进行操作的时候,控制台打印数组会出现一下情况,
[{…}, {…}, {…}, {…}, {…}, {…}, {…}, __ob__: Observer] 第二种情况
如果直接打印后台返回数据就是这个情况
[{…}, {…}, {…}, {…}, {…}, {…}, {…}] 在将原始数据push进vue页面定义的数组中就是出现第一种情况
网上查资料说这是vue的框架用于检测数据而添加的,因为使用框架本身就是为了页面使用数据方便,页面的js简单化。
Vue中的__ob__是保存Observer对象的,用来记录是否已经做过数据的“响应式化”,也就是是否已经被Observer处理过,最终是为了用Object.defineProperty进行数据的双向绑定。
解决这个问题的方法就是
前端定义变量 = JSON.parse(JSON.stringify(后台数据数组))
对于数据的操作,如果本身从后台返回的数据是没有一些属性的,前端需要自己添加属性 ,那么需要使用this.$set()方法对数据进行操作,然后在后续的操作中也要使用此方法操作数据,这样做是为了解决页面数据没有因为数据修改而实时更新的问题。
此问题花费我一个下午解决,刚开始操作数据页面没有更新,然后就频繁的修该数据定义,最后排查问题出在操作数据的方法上,以后需要多多注意。