vue3中的对象时为proxy对象,如何获取值


在使用vuex的时候发现获取statestring number类型的变量时,是可以直接通过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,数组拓展等

你可能感兴趣的:(vue.js,javascript,ecmascript)