在操作数据的时候发现,__ob__: Observer这个属性出现之后,如果单独拿数据的值,就会返回undefined。
操作数组时出现,push一个新元素,之前push的对象都变成这个新元素
原因是对象是引用类型,传递的是引用地址,所以你两个数组引用的是同一个对象,只要其中一个数组改变,就会导致对象改变,进而另一个引用的数组也会改。
__ob__: Observer这些数据是vue这个框架对数据设置的监控器,一般都是不可枚举的。

解决这个有两种办法 :
1、先转成json字符串再解析成对象
this.chatMessage = JSON.parse(JSON.stringify(this.chatMessage))
2、使用Object.assign()
Object.assign({},需要push的对象)
探讨了在Vue框架中,__ob__:Observer属性如何影响数据操作,特别是在数组push操作时导致的意外数据覆盖问题。文章分析了对象引用类型的特点,并提供了两种解决方案:通过JSON字符串转换或使用Object.assign()方法来避免数据监控引起的副作用。

223

被折叠的 条评论
为什么被折叠?



