Vue __ob__: Observer造成数组中push一个对象同时其他对象被修改
在操作数据的时候发现,__ob__: Observer这个属性出现之后,如果单独拿数据的值,就会返回undefined。操作数组时出现,push一个新元素,之前push的对象都变成这个新元素原因是对象是引用类型,传递的是引用地址,所以你两个数组引用的是同一个对象,只要其中一个数组改变,就会导致对象改变,进而另一个引用的数组也会改。数据对象的 __ob__ 属性__ob__: Obs...
·
在操作数据的时候发现,__ob__: Observer这个属性出现之后,如果单独拿数据的值,就会返回undefined。
操作数组时出现,push一个新元素,之前push的对象都变成这个新元素
原因是对象是引用类型,传递的是引用地址,所以你两个数组引用的是同一个对象,只要其中一个数组改变,就会导致对象改变,进而另一个引用的数组也会改。
__ob__: Observer这些数据是vue这个框架对数据设置的监控器,一般都是不可枚举的。
解决这个有两种办法 :
1、先转成json字符串再解析成对象
this.chatMessage = JSON.parse(JSON.stringify(this.chatMessage))
2、使用Object.assign()
Object.assign({},需要push的对象)
更多推荐
已为社区贡献2条内容
所有评论(0)