最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue路由傳參頁面刷新后參數(shù)丟失原因和解決辦法

 更新時(shí)間:2022年12月13日 11:41:47   作者:lonelysaber  
這幾天在開發(fā)中遇見的一個(gè)關(guān)于路由傳參后,頁面刷新數(shù)據(jù)丟失的問題,下面這篇文章主要給大家介紹了關(guān)于Vue路由傳參頁面刷新后參數(shù)丟失原因和解決辦法,需要的朋友可以參考下

vue路由傳參方法

在編寫vue項(xiàng)目時(shí),時(shí)常會(huì)使用路由在不同頁面中傳遞參數(shù),常見使用方式如下:

this.$router.push({
  path: "/test",
  query: {
    a: 1,
    b: 2
  }
})

 這樣我們就傳遞了兩個(gè)參數(shù),在 /test  頁面 就可以接收這兩個(gè)參數(shù)

let a = this.$route.query.a;
let b = this.$route.query.b;

可以看到瀏覽器進(jìn)行了url參數(shù)拼接傳參,有點(diǎn)像get請求的意思

如果不想顯示參數(shù)拼接在url中,可以使用parmars傳參,同時(shí)path失效,需要用name指定路由,前提vueRouter中有name對應(yīng)的路由,才能匹配對應(yīng)的路徑

this.$router.push({
   name: "test",
   params: {
      a: 1,
      b: 2
   }
})

接收參數(shù)方式 與query方式類似

let a = this.$route.parmars.a;
let b = this.$route.parmars.b;

看起來有點(diǎn)像post請求

 以上看起來一切正常,但是一旦傳遞的參數(shù)中包含對象之后,問題就出現(xiàn)了

原因分析:

參數(shù)傳遞變?yōu)榱薣object object] ,這個(gè)我們非常熟悉,是對象被強(qiáng)制轉(zhuǎn)化為字符串的結(jié)果

恍然大悟!原來vue路由傳值會(huì)把參數(shù)都轉(zhuǎn)換為字符串進(jìn)行拼接,相當(dāng)于String(參數(shù))

解決方案:

解決方案很簡單,就是使用JSON

傳遞參數(shù)時(shí)將參數(shù)轉(zhuǎn)化為JSON字符串

this.$router.push({
  path: "/test",
  query: {
    a: JSON.stringify({test : 'test}),
    b: 2
  }
})

接收時(shí)再轉(zhuǎn)化為對象

let a = JSON.parse(this.$route.query.a);
let b = this.$routr.query.b;

完美解決

總結(jié)

到此這篇關(guān)于Vue路由傳參頁面刷新后參數(shù)丟失原因和解決辦法的文章就介紹到這了,更多相關(guān)Vue路由傳參頁面刷新參數(shù)丟失內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

和田市| 长乐市| 泸定县| 绥化市| 通辽市| 民丰县| 瓦房店市| 石首市| 德阳市| 若羌县| 湘西| 综艺| 青冈县| 周至县| 东丽区| 龙门县| 南宫市| 安远县| 施秉县| 临西县| 都兰县| 永清县| 东台市| 屏南县| 林甸县| 穆棱市| 彰化市| 扎囊县| 冷水江市| 丹棱县| 株洲市| 巴林右旗| 义乌市| 大荔县| 巴马| 建湖县| 承德市| 英德市| 金山区| 清苑县| 沈丘县|