vue3 获取ref里Proxy里的数据

前几天一个月薪35k的兄弟,给我推了一个人工智能学习网站,看了一段时间挺有意思的。包括语音识别、机器翻译等从基础到实战都有,很详细,分享给大家。

描述

在vue3时,请求回来的数据,例如通过res.data.data拿到了一个数组对象格式的数据。但是这个数据被Proxy包裹,你想进一步处理数据根本不行,通过点的方式也拿不到。

就是这样的

在这里插入图片描述

原因

vue3.0 使用Proxy代替了vue2.0版本中的Object.defineProperty(),首先利用compositionAPI中的 reactive() 函数返回一个Proxy对象,使得数据可监测。

Proxy 可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写。

以上解释来自:https://blog.csdn.net/m0_57188429/article/details/116979325

解决

将你请求回来的数据用JSON转化一次就可以了

let arr = res.data.data
JSON.parse(JSON.stringify(arr))

这样就可以去掉Proxy了

Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐