vue3網(wǎng)絡(luò)請(qǐng)求到的數(shù)據(jù)為proxy對(duì)象時(shí),如何獲取值
今天寫后臺(tái)管理系統(tǒng),莫名發(fā)現(xiàn)幾個(gè)問題
一開始我想直接把請(qǐng)求到的數(shù)據(jù)賦值保存到本地,但是我發(fā)現(xiàn)在異步函數(shù)內(nèi)部打印userList內(nèi)容正常,可在外部也就是setup內(nèi)部打印就沒有數(shù)據(jù)
后來我尋思把請(qǐng)求到的數(shù)據(jù)一股腦push進(jìn)去
可打印出來的卻是一個(gè)Proxy對(duì)象,數(shù)據(jù)都被放在了Target里面

我想通過userList[0]這樣取出對(duì)應(yīng)的數(shù)據(jù),發(fā)現(xiàn)報(bào)錯(cuò)undefinde
緊接著就是解決方案了:
第一種:通過vue中的響應(yīng)式對(duì)象可使用toRaw()方法獲取原始對(duì)象
第二種:通過json序列化
特別注意:vue3使用proxy
,對(duì)于對(duì)象和數(shù)組都不能直接整個(gè)賦值
對(duì)此如果是單一數(shù)據(jù)源我們采用push方法
多數(shù)據(jù)源我們采用包裹方法
那么對(duì)于上面的案例來說,就得改成如下:
或者你也可以這么寫
或者再簡(jiǎn)化
標(biāo)簽: