使用vue3.0时,因为底层是使用proxy进行代理的所以当我们打印一些值得时候是proxy代理之后的是Proxy 对象,Proxy对象里边的[[Target]]才是真实的对象。
在这里插入图片描述

第一种获取target值的方式:

通过vue中的响应式对象可使用 toRaw() 方法获取原始对象

//第一种获取target值的方式,通过vue中的响应式对象可使用toRaw()方法获取原始对象
import { toRaw } from '@vue/reactivity'
var list = toRaw(store.state.menuList)
//第二种获取target值的方式,通过json序列化之后可获取值
JSON.parse(JSON.stringify(store.getters.menuList))

最近遇到一个在使用toRaw时遇到的小问题,使用这个方法会导致数据更新但视图不更新,从vue里面取出来的虽然是proxy对象,但是也可以直接进行数组的操作,如splice,数组拓展等

转自https://blog.csdn.net/weixin_43322018/article/details/117935105

Logo

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

更多推荐