欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue踩坑日記之params傳遞參數(shù)問題

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

vue踩坑之params傳遞參數(shù)

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

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

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

3. vue 報錯

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

4. 解決方式

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

使用params方式傳參數(shù)據(jù)丟失

在vue的組件之間傳遞數(shù)據(jù)時,因為不想url上面有?xx=yy的內(nèi)容出現(xiàn),所以選擇params形式傳遞參數(shù),正常跳轉(zhuǎn),好看又方便

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

Vue-router傳遞參數(shù)的方式說明

  • query傳遞參數(shù)

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

使用方式:

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

獲取參數(shù):

this.$route.query.id獲取key為id的路由參數(shù)

  • params傳遞參數(shù)

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

使用方式:

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

獲取參數(shù):

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

解決使用params傳遞參數(shù)刷新頁面參數(shù)丟失

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

有兩種方式可以解決:

1.使用sessionStorage、localStorage

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

2.使用params中的路由匹配

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

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

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

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

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

總結(jié)

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

相關(guān)文章

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

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

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

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

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

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

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

    vue3通過父子傳值實現(xiàn)彈框功能

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

    Vue2路由動畫效果的實現(xiàn)代碼

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

    關(guān)于element同時使用Drawer和Dialog出現(xiàn)多個遮罩問題

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

    一篇文章學(xué)會Vue中間件管道

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

    Vue的方法和屬性案例詳解

    這篇文章主要介紹了Vue的方法和屬性案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    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三種不同實現(xiàn)方式全面介紹Vue2和Vue3的組件通信方式,需要的朋友可以參考一下
    2022-08-08

最新評論