亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue踩坑日記之params傳遞參數問題

 更新時間:2023年05月17日 08:33:49   作者:閃電松鼠~  
這篇文章主要介紹了vue踩坑日記之params傳遞參數問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

vue踩坑之params傳遞參數

1.我們都知道 vue中 params傳遞參數都需要配置占位符 。

2.但是 一定要注意, 重點來了:

如果 /search的占位符沒有值的時候, 也就是沒有傳遞params參數時, 是無法跳轉到 search組件的,路徑會重新定位到 跟組件 /

3. vue 報錯

vue-router] missing param for named route "search": Expected "keyword" to be defined

4. 解決方式

  在路徑的占位符后面添加  一個     ?     ,  代表 這個params參數可以傳遞,也可以不傳遞。 

使用params方式傳參數據丟失

在vue的組件之間傳遞數據時,因為不想url上面有?xx=yy的內容出現,所以選擇params形式傳遞參數,正常跳轉,好看又方便

問題出現了:突然在刷新跳轉之后的頁面的時候,頁面的數據加載不出來了,仔細一看,原來是路由中攜帶的參數不見了!! 組件刷新還能導致路由的參數丟失。

Vue-router傳遞參數的方式說明

  • query傳遞參數

query傳遞參數不會出現路參數丟失的情況,所以不需要做其他的配置,不過缺點就是參數會拼接在url后面: url?xx=yy 這種方式來傳遞參數,會暴露參數,并且url也有字符上限限制

使用方式:

this.$router.push({path: 'path', query: {id:1}})

獲取參數:

this.$route.query.id獲取key為id的路由參數

  • params傳遞參數

params傳遞參數是將參數放在route對象中,沒有放在url后面,但是會有一個問題,在跳轉之后的頁面中刷新的時候,會導致當前路由中保存的params的參數丟失

使用方式:

this.$router.push({name: 'name', params:{id:1}})

獲取參數:

this.$route.params.id 獲取route對象中的Params的參數信息

解決使用params傳遞參數刷新頁面參數丟失

使用params傳遞參數,參數沒有像query那樣,拼接在url后面,所以刷新的時候會出現數據丟失,則無法獲取到數據

有兩種方式可以解決:

1.使用sessionStorage、localStorage

sessionStorage、localStorage根據具體的場景來選擇,保存到里面的數據不會在刷新下的時候丟失,不過在移動端,使用微信懸浮窗的時候,部分安卓機型的sessionStorage中的數據會丟失

2.使用params中的路由匹配

使用方式: 在router.js,即匹配路由規(guī)則的位置,加上占位符即可

{
? path: '/index/:num/:name',
? name: 'index',
? component: Index
}

params中的參數名稱需要和占位符的名稱一致即可

獲取參數,還是和獲取params中參數一致:this.$route.params.name

這樣的話,參數就會出現在url中,格式為:url/num/name,這種方式將參數放在url上,刷新的時候才不會丟失數據。

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Vue3父組件訪問子組件方法/屬性的五種方案

    Vue3父組件訪問子組件方法/屬性的五種方案

    在Vue3的組件化開發(fā)中,父子組件間的通信是核心功能之一,本文將詳細介紹五種父組件訪問子組件屬性/方法的實現方案,包含最新的<script setup>語法糖實踐,需要的朋友可以參考下
    2025-03-03
  • 使用Vant框架list組件遇到的坑及解決

    使用Vant框架list組件遇到的坑及解決

    這篇文章主要介紹了使用Vant框架list組件遇到的坑及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue3中使用ref獲取dom的操作代碼

    vue3中使用ref獲取dom的操作代碼

    ref在我們開發(fā)項目當中很重要的,在?Vue?中使用?ref?可以提高代碼的可讀性和維護性,因為它直接標識出了組件中需要操作的具體元素或組件實例,本文我將給大家?guī)淼氖莢ue3中用ref獲取dom的操作,文中有相關的代碼示例供大家參考,需要的朋友可以參考下
    2024-06-06
  • vue3通過父子傳值實現彈框功能

    vue3通過父子傳值實現彈框功能

    在Vue3中,我們可以通過?provide?和?inject?來實現父子組件之間的數據傳遞,這也適用于實現彈框功能,下面我們就來學習一下vue3實現彈框功能的具體方法吧
    2023-12-12
  • Vue2路由動畫效果的實現代碼

    Vue2路由動畫效果的實現代碼

    本篇文章主要介紹了Vue2路由動畫效果的實現代碼,可以根據不同的路徑去改變動畫的效果,有興趣的可以了解一下
    2017-07-07
  • 關于element同時使用Drawer和Dialog出現多個遮罩問題

    關于element同時使用Drawer和Dialog出現多個遮罩問題

    這篇文章主要介紹了關于element同時使用Drawer和Dialog出現多個遮罩問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 一篇文章學會Vue中間件管道

    一篇文章學會Vue中間件管道

    這篇文章主要給大家介紹了如何通過一篇文章學會Vue中間件管道的相關資料,什么是中間件管道?中間件管道是一堆不同的中間件并行運行,本文通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2021-06-06
  • Vue的方法和屬性案例詳解

    Vue的方法和屬性案例詳解

    這篇文章主要介紹了Vue的方法和屬性案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-07-07
  • Vue中computed和watch的區(qū)別

    Vue中computed和watch的區(qū)別

    在vue項目中我們常常需要用到computed和watch,那么我們究竟在什么場景下使用computed和watch呢?他們之間又有什么區(qū)別呢?本將給大家詳細的介紹一下,需要的朋友可以參考下
    2023-05-05
  • Vue2和Vue3的10種組件通信方式梳理

    Vue2和Vue3的10種組件通信方式梳理

    這篇文章主要介紹了Vue2和Vue3的10種組件通信方式梳理,本文將通過選項式API?組合式API以及setup三種不同實現方式全面介紹Vue2和Vue3的組件通信方式,需要的朋友可以參考一下
    2022-08-08

最新評論