Vue爬坑之旅(二十):把对象中的数据给了某个变量,改变一个对象的值,另一个对象也变化
一个vue变量赋值给一个新的变量,对这个新的变量里的值做更改,vue的变量也变了。data () {return {data: {a: 1,b: 2,c: 3}}},mounted () {let str = this.datastr.a = 4co...
·
一个vue变量赋值给一个新的变量,对这个新的变量里的值做更改,vue的变量也变了。
data () {
return {
data: {
a: 1,
b: 2,
c: 3
}
}
},
mounted () {
let str = this.data
str.a = 4
console.log(this.data)
console.log(str)
}
以上两个a值都变为4。
解决方案:
方法一
改变数据类型,就是把变量先转成字符串,再把字符串转成对象,再进行赋值,vue的变量就不会被改变了
let str = JSON.parse(JSON.stringify(this.data))
str.a = 4
console.log(this.data)
console.log(str)
方法二
let str = {...this.data}
str.a = 4
console.log(this.data)
console.log(str)
更多推荐
已为社区贡献20条内容
所有评论(0)