在使用vuex的时候发现获取state的string number类型的变量时,是可以直接通过store.state.value 取到值的,但是在取对象的时候,控制台打印出来的是Proxy 对象,Proxy对象里边的[[Target]]才是真实的对象。
proxy对象

//第一种获取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,数组拓展等

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐