我的编程空间,编程开发者的网络收藏夹
学习永远不晚

vue3中如何获取proxy包裹的数据

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

vue3中如何获取proxy包裹的数据

如何获取proxy包裹的数据

在进行 vue3+ts+elementplus 重构vue2项目时遇到了关于proxy的问题

具体问题

使用el-upload组件进行图片上传,然后绑定handleChange方法进行图片改变的监听,将上传的图片push到fileList数组中。

const handleChange: UploadProps['onChange'] = (file, fileList1) => {
  //当改变时,将fileList1push到fileList数组,然后用fileList进行之后的处理
  fileList.push(fileList1)
  console.log('测试',fileList)
}

然后声明一个form表单,对数组进行遍历,插入form表单。此时发现问题:fileList是proxy对象

在这里插入图片描述

如图所示,fileList数组被proxy包裹

解决办法

查资料了解到:vue3使用proxy代替vue2的object.defineProperty,相当于在对象前设置的“拦截”

可以利用序列化获取,因为这里所取值为数组第一项,所以修改为:

JSON.parse(JSON.stringify(fileList))[0]

输出如图

在这里插入图片描述

综上,解决了取出proxy中数据的方法,然后就是对其foreach遍历等操作

vue3 proxy基本用法

新的改变

  • 我们的vue3 使用proxy 来代替vue2 的 Object.defineProperty 
  • 效率更高,值得我们学习

基本使用

  <script>
        var target = {
            name: "xiaoming",
            age: 18
        }
        // handler 是一个对象
        const handler = {
            set(target, prop, value) {
                let result = Reflect.set(target, prop, value)
                console.log("设置的操作" + result)
                return true;
            },
            get(target, value) {
                let result = Reflect.get(target, value)
                console.log("获取的的操作" + result)
            }
        }
        let proxy = new Proxy(target, handler);
        proxy.coure = "java"
        console.log(proxy)
    </script>

这个打印效果:

在这里插入图片描述

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

vue3中如何获取proxy包裹的数据

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

vue3中的对象时为proxy对象如何获取值(两种方式)

使用vue3.0时,因为底层是使用proxy进行代理的所以当我们打印一些值得时候是proxy代理之后的是Proxy<BR>对象,Proxy对象里边的[[Target]]才是真实的对象,那么如何获取这个值呢,下面下面给大家介绍两种方式,感兴趣的朋友一起看看吧
2023-01-28

如何获取redis中的数据

redis 中获取数据的常用方式有:get:直接获取指定键的值。mget:同时获取多个键的值,返回一个列表。hget:获取哈希表中指定 field 的值。hmget:获取哈希表中多个 field 的值,返回一个列表。lrange:获取列表中
如何获取redis中的数据
2024-04-20

如何获取listview选中的数据

要获取ListView选中的数据,您可以使用以下步骤:1. 在ListView的适配器中,为每个item设置一个点击事件监听器。2. 在点击事件监听器中,获取选中的item位置。3. 根据位置,从适配器中获取对应的数据。4. 使用获取的数据
2023-08-14

java如何获取redis中数据

本文详细介绍了Java开发人员如何使用Jedis、Lettuce等客户端库获取Redis中的数据。Jedis和Lettuce的获取数据步骤如下:创建客户端实例连接Redis服务器获取数据其他客户端库包括Redisson、SpringDataRedis等。注意事项包括使用连接池、指定数据类型、解码二进制数据、异常处理等。本文提供了完整代码示例,展示了如何使用Jedis获取Redis中的数据。
java如何获取redis中数据
2024-04-02

PHP中如何获取POST数据

PHP中如何获取POST数据,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。(一)表单POST方式提交情况下PHP获取POST数据$_POST 与 php://input可以取到
2023-06-17

Python Django如何获取URL中的数据

小编给大家分享一下Python Django如何获取URL中的数据,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Django获取URL中的数据URL中的参数一般有两种形式。如下所示:1. https://zy010101.
2023-06-25

php如何获取数组中的几条数据

本文小编为大家详细介绍“php如何获取数组中的几条数据”,内容详细,步骤清晰,细节处理妥当,希望这篇“php如何获取数组中的几条数据”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。两种方法:1、用array_sli
2023-06-30

如何从gin中的前端获取数据?

小伙伴们有没有觉得学习Golang很有意思?有意思就对了!今天就给大家带来《如何从gin中的前端获取数据?》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!问题内容令我羞愧的是,我一直无法弄清楚如何从 gi
如何从gin中的前端获取数据?
2024-04-05

如何使用PDO获取MySQL数据库中的数据

使用PDO获取MySQL数据库中的数据有以下几个步骤:建立数据库连接:$host = 'localhost';$dbname = 'my_database';$username = 'm
如何使用PDO获取MySQL数据库中的数据
2024-04-29

如何使用Java获取Json中的数据

这篇文章主要介绍“如何使用Java获取Json中的数据”,在日常操作中,相信很多人在如何使用Java获取Json中的数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用Java获取Json中的数据”的疑
2023-07-06

redis如何获取hash中所有的数据

要获取Redis中hash中所有的数据,可以使用以下命令:HGETALL key其中,key是要获取数据的hash的键名。这个命令会返回hash中所有字段及其对应的值,以数组的方式返回。另外,也可以使用以下命令来获取hash中所有的字
redis如何获取hash中所有的数据
2024-04-22

java中如何连接redis获取数据

本篇文章介绍了如何使用Java连接Redis并获取数据。它涵盖了添加Redis依赖、创建Redis连接、选择数据库、设置和获取值、哈希表、列表和集合操作,以及关闭连接。文章还提供了示例代码,演示如何连接Redis并获取数据。此外,它还提到了Redis服务器的默认端口、Jedis库的高级功能以及其他JavaRedis库。
java中如何连接redis获取数据
2024-04-02

如何获取json数组里的数据

要获取JSON数组中的数据,可以使用不同的方法,具体取决于您使用的编程语言和框架。以下是使用一些常见编程语言和框架的示例:在JavaScript中,您可以使用JSON.parse()将JSON字符串解析为JavaScript对象,然后通过索
2023-08-15

编程热搜

目录