vue3获取vuex中的对象时为proxy对象,如何获取值
在使用vuex的时候发现获取state的stringnumber类型的变量时,是可以直接通过store.state.value 取到值的,但是在取对象的时候,控制台打印出来的是Proxy 对象,Proxy对象里边的[[Target]]才是真实的对象。
//第一种获取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,数组拓展等