Talk is cheap

Vue Watch数据对象中的__ob__

最近的项目中遇到的问题: 子组件watch 一个对象数组的变化,然后把这个对象数组提交到父组件,父组件收到这个数据以后,按照数组中对象的id进行排序。 但是在使用myarry.sort()排序的时候,总是卡死!控制台打印数据如下

发现自己定义的对象数组中多了一个ob:_e 这是什么东西?
查看文档后,才明白,所有Vue中被Watch的数据都会被加上这个东西,作用就相当于一个监听器,用来监听这个数据的变化,如果强行把这个ob去掉的话,就会导致Vue无法检测到数据的变化。

要想获取到原始的数据可以使用 : JSON.parse(JSON.stringify(myobj)) 这样转化一下即可。

未经允许不得转载:CheapTalk » Vue Watch数据对象中的__ob__
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!