VUE3获取被Proxy拦截的原数据

665 阅读1分钟

在vue3中,因为不再使用getter和setter,data中定义的数据会被proxy拦截,直接打印数据会传值,得到的会是一个proxy对像,如果需要得到原数据,则需要做一次转换。

1、获取被拦截的数据。

vue中定义的数组默认会转化为proxy.

export default {
  data() {
    return {
      arr: [],
      obj: {}
    }
  },
  mounted () {
      console.log(this.arr)
  }
}

在控制台打印出arr时,返回的是proxy 对象。

image.png

如果需要获取原数组格式,则需要先使用JSON.stringify转换成字符串,然后再使用JSON.parse得到原数据。

const arr = JSON.parse(JSON.stringify(this.arr))