vue 变量相互赋值同时改变的问题

vue 11-19 15:01

vue中v-model绑定的变量赋值给了另外一个变量后,如果修改了其中一个变量里面的数据,另外一个变量会同时改变。这是什么原因呢?

问题原因

1、在vue中 this.A = this.B,没有进行深层赋值,只是把this.A的地址指向了与this.B相同的地址,所有对于A的修改会影响到B
2、解决相互影响的思路是在this.A必须是新建的一个对象,这样才能保证不被指向同一地址,属性修改不会相互影响

提交数据的时候,又想对提交的变量数据进行一些改变,又不是影响现有的变量数据,那怎么操作呢?

错误实例

this.search = this.query

正确实例

this.search = JSON.parse(JSON.stringify(this.query))

相关推荐