日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

Vue 踩坑日志 - 有关路由传参的坑

發布時間:2025/4/14 vue 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Vue 踩坑日志 - 有关路由传参的坑 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.有關路由傳參

vue中當通過params傳過去的參數刷新頁面以后會消失,所以可以用query傳參。但此時又會出現另一個坑,刷新后數據仍在。但這是針對單個的某個變量的。

如果傳入一個對象的話,刷新頁面后會變成[object,object]。

那么這個問題是如何產生的呢?

探究一下,發現

router他是一個鉤子,刷新頁面的時候,鉤子還是初始化狀態,他的值是通過導航變化后,鉤子攔截導航是匹配產生的。

所以說當刷新頁面的時候,路由并沒有發生變化,也就不存在會給變量賦值。所以,此時會出現賦值失敗問題。

(以上為個人理解,如果不對請指正)

問題找出來了,怎么解決呢?

emmm.....

第一種:

首先我們要知道我們在傳的這個對象中的變量是否都是我們需要的,或者這個對象中只包括很少的變量

我們就可以,用傳單個變量的形式,將他們傳過去。(有點廢話,但確實是個好辦法)

第二種:代碼

if(this.$route.query?instanceof?Object){
var?msg?=sessionStorage.setItem('item',Json.Stringify(this.$route.query))
if(msg){
this.item?=?JSON.parse(sessionStorage.getItem('item'))
}
}else{
this.item?=?JSON.parse(sessionStorage.getItem('item'))

}

解釋一下就是 先判斷 它的格式是否為對象,如果是就將他儲存到sessionStorage中,然后data中創建一個新的對象接受即可

JSON.stringify

轉載于:https://www.cnblogs.com/-moon/p/11115376.html

總結

以上是生活随笔為你收集整理的Vue 踩坑日志 - 有关路由传参的坑的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。