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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章