在vue3中,因为不再使用getter和setter,data中定义的数据会被proxy拦截,直接打印数据会传值,得到的会是一个proxy对像,如果需要得到原数据,则需要做一次转换。
1、获取被拦截的数据。
vue中定义的数组默认会转化为proxy.
export default {
data() {
return {
arr: [],
obj: {}
}
},
mounted () {
console.log(this.arr)
}
}
在控制台打印出arr时,返回的是proxy 对象。
如果需要获取原数组格式,则需要先使用JSON.stringify转换成字符串,然后再使用JSON.parse得到原数据。
const arr = JSON.parse(JSON.stringify(this.arr))