javascript - 使用从 api 下载的数据在阵列上创建代理对象

标签 javascript vue.js fetch vuejs3

不知道为什么从api下载的数据保存到表后,表在代理对象中被关闭了。

data() {
    return {
      date: [],
  },

async dataToChart(code){
   try{
      const response = await fetch(`https://api.covid19api.com/total/country/${code}`);
      const data = await response.json();

      data.forEach((el, i) => {
      if(i > 250){
        this.date.push(el.Date)
      }
    });
    }catch(error){
       console.log(error);
    }
  },
当我将此表传递给子组件并使用 console.log 在那里显示时,弹出代理对象:
Proxy {}
    [[Handler]]: Object
    [[Target]]: Array(49)
    [[IsRevoked]]: false

最佳答案

这与您的代码或 API 无关,这( Proxies )是 Vue3 观察数据属性的方式。大多数情况下,所有属性都转换为 Proxies据我所知。如果您想知道原因 Proxies正在使用中,可以观看this video ,正如 Evan You(Vue 的创造者)以更好的方式解释的那样!! :-)
代理让您拦截对象更改并相应地执行任何操作。
要了解有关代理和其他东西的更多信息,您需要了解如何 Vue reactivity作品。
根据 MDN docs :

The Proxy object enables you to create a proxy for another object, which can intercept and redefine fundamental operations for that object.

关于javascript - 使用从 api 下载的数据在阵列上创建代理对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64881017/

相关文章:

backbone.js - BackboneJS .fetch() 将响应中的一个对象放入集合中

javascript - 将参数传递给事件处理程序,而无需在每次无状态组件重新呈现时创建处理程序的新引用

javascript - 创建一个 Node.js 可写流,将数据代理到另一个可写流,但首先在其前面添加一些自己的数据

javascript - 可以使用 $(this) 和通用选择器 (*) 吗?

javascript - 更新组件

javascript - 根据对象值过滤嵌套的对象数组Javascript ES6

javascript - 如何在 WP 3.9 的tinyMCE 中添加用于行高选择的下拉菜单

javascript - 传递给vue js的html5多维输入数组

php - 中的两个 mysql_fetch_array 语句

javascript - 在 if 语句中使用 Fetch 响应