Axios Get 请求返回 [Proxy 代理] - Flask & Vue.js

Axios Get Request returned [Proxy proxy] - Flask & Vue.js

我在渲染页面中使用了组件。呈现的页面有一个对象数组,它是 kpi_list[]。我'do axios get request'在渲染页面

     axios.get(URL + "/KPI/get_by_category/1").then(response=>{
          for (const data in response.data) {
              this.kpi_kalite.push(JSON.parse(JSON.stringify(response.data[data])))
              console.log(Object.values(this.kpi_kalite))
           }  
           .
           .
           .

输出:

(2) [Proxy, Proxy]
      0: Proxy {id: 1, base: 1, name: 'A', searchable_name: 'A', 
         user: '1', …}
      1: Proxy {id: 5, base: 1, name: 'B', searchable_name: 'B', 
         user: '1', …}
    length: 2
    [[Prototype]]: Array(0)

我不应该这样看吗?

[
   {id: 1, base: 1, name: 'A', searchable_name: 'A', 
     user: '1', …},
   {id: 5, base: 1, name: 'B', searchable_name: 'B', 
     user: '1', …}
]

[Proxy, proxy] 是什么?

我将 kpi_kalite 数组作为道具发送到组件。 在组件安装中,我尝试这样的事情:

  mounted() {
    console.log(this.kpi_kalite[0]) 
    console.log(Object.values(this.kpi_kalite))
},

输出:

Proxy {id: 1, base: 1, name: 'A', searchable_name: 'A', user: 
       '1', …}
(2) [Proxy, Proxy]

有问题吧?这些不是我需要查看的对象或对象数组。

这很正常! vue 3 使用 proxies 使您在数据中定义的属性成为 reactive,因此将记录您看到包含 真值。 要在控制台中查看真实值,您应该这样做

console.log(JSON.parse(JSON.stringify(this.yourValue)))

if you want to read more