vue 路由傳遞參數,刷新頁面 數據變成 [Object object]

原因:

刷新頁面的時候,我才框架會默認的把數據存放在本地,刷新完成後會把數據取出來,但是存儲普通的字符串還好

一旦存儲數組,或者對象,如果不用JSON.stringify( )方法把對象轉換成字符串的話,再次取出來,數據就會變成一個奇怪的東西,無法parse ,也不能直接使用 數據就變成 [Object object] 了,估計這個是vue 的一個bug,所以在傳輸數據的之前要提前把數據JSON.stringify()一下,用的時候再parae 一下。

 

nuxt 的問題:

如果你用nuxt  的asyncData 接收數據,並且在方法裏面把數據解析出來,那麼還是沒有用,因爲async 是在服務端執行的,這裏獲取不到this ,獲取不到sessionstorage , 他獲取不到本地的數據,當你把他解析完成後,渲染到頁面上,然後這些數據會被返回到客戶端,然後客戶端拿到的還是沒有經過stringify 的數據,刷新還是會出錯,所以要把數據在客戶端執行的方法裏面parse 一下,這樣保證了,客戶端拿到的數據是string 類型的,然後在刷新的時候會把最初的數據,string保存到本地。

 

 

 

發佈了90 篇原創文章 · 獲贊 50 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章