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

vue路由$router.push()使用query傳參的實際開發(fā)使用

 更新時間:2022年11月11日 11:22:16   作者:奶廠小程  
在vue項目中我們用函數(shù)式編程this.$router.push跳轉(zhuǎn),用query傳遞一個對象時要把這個對象先轉(zhuǎn)化為字符串,然后在接收的時候要轉(zhuǎn)化為對象,下面這篇文章主要給大家介紹了關(guān)于vue路由$router.push()使用query傳參的實際開發(fā)使用,需要的朋友可以參考下

前言

最近,在開發(fā)前端中,涉及到了vue的傳參問題,在這里做了一下筆記,好好總結(jié)一下

一、vue-router是什么?

首先,我們先要了解到vue-router,它是官方的一個前端路由插件,適合用于構(gòu)建單頁面應(yīng)用。

對于vue-router,它是由路由和組件組成關(guān)聯(lián)的,路由可以設(shè)定用戶要訪問的路徑,然后通過將路徑和組件捆綁映射起來。最后,在單頁面應(yīng)用中,隨著頁面的路徑的變化,那就代表著組件的變化。

二、router.push()方法

在這里,實際開發(fā)中就使用到這個push()方法,這個方法有什么作用呢,首先,先看這個push的字面意思,它翻譯成中文就是推動,所以,很明顯,它就是推送嘛,在實際應(yīng)用中,就是導(dǎo)航到不同的位置中去,就是當(dāng)你想要導(dǎo)航到不同的url中,可以使用這個push方法,它會向history棧添加一個新的記錄。

三、vue-router傳遞的參數(shù)

它傳遞參數(shù)主要有倆種,分別是params和query;

我們這,主要使用到的是query,

首先,這倆者之間:

一是url不同

如:query在url中顯示參數(shù),?后面就是,http://localhost:8082/delivery_trace_record?type=1;params在url中不顯示參數(shù),http://localhost:8082/delivery_trace_record

二是使用方式不一樣

params需要與name結(jié)合,params更類似于我們平常所說的post請求方式

query需要與path結(jié)合,query更類似于我們平常所說的get請求方式

四.實際開發(fā)使用

1.query傳參使用案例(數(shù)據(jù)傳遞)

1.發(fā)送數(shù)據(jù)

首先,在這個order.vue的組件中,寫好如下代碼,把這個組件的參數(shù)req,然后導(dǎo)航到下一個組件中去

代碼如下(示例):

      const req = {    // 參數(shù)構(gòu)建
        orderNo: item.orderNo,
        clientNo: item.clientNo,
        vbeln: item.vbeln,
        posnr: item.posnr,
        price: item.price,
        qty : item.qty,
        totalAmt:item.totalAmt
      }
      console.log('toOrder req', req)
      this.$router.push({              // 推送方法
        path: '/order_trace_record',   //導(dǎo)航的路徑
        query: req      // 請求參數(shù)在這
      })

2.讀入數(shù)據(jù)

然后來到了這個組件orderTraceRecord中,通過了生命周期鉤子函數(shù)created()來初始化數(shù)據(jù),來接收前面過來的數(shù)據(jù),

第一步,先創(chuàng)建個接收對象

代碼如下(示例):

  data () {
    return {
      order: {
        vbeln: null,
        orderNo: null,
        clientNo: null,
        price:null,
        qty:null,
        totalAmt:item.totalAmt
      },
      scansNoList: []
      }
     }

然后呢,通過這個this.order來接收數(shù)據(jù)this.$route.query;然后再通過這個this.order來進行其他的數(shù)據(jù)的處理即可。

代碼如下(示例):

  created () {
    if (this.$route.query) {
      this.order = this.$route.query      //通過這個組件的對象來接收傳過來的數(shù)據(jù)
      console.log('created this.$route.query', this.order)
      // 將初始化過來的數(shù)組進行處理
      this.scansNoList = this.order.scanList.concat()
}

補充:this.$router.push用query傳參對象時需注意的地方

在vue項目中,我們用函數(shù)式編程this.$router.push跳轉(zhuǎn),用query傳遞一個對象時要把這個對象先轉(zhuǎn)化為字符串,然后在接收的時候要轉(zhuǎn)化為對象,要不然會接收不到參數(shù)。要不就把參數(shù)分開傳遞,不要放到對象里。

this.$router.push({
    path: '/liveing',
    query: {
        routeParams: JSON.stringify({ liveUrl: url, flag: 2 })
    }
});

接收:

let routeParams = JSON.parse(this.$route.query.routeParams)
this.currMeetingUrl = routeParams.liveUrl; 
this.obcject = routeParams.flag;

第二種方法:不要套在對象里直接傳遞

this.$router.push({
    path: '/liveing',
    query: {
        liveUrl: url, 
        flag: 2
    }
});

接受:

let liveUrl = this.$route.query.liveUrl;
let flag = this.$route.query.flag;

總結(jié)

 本博文主要記錄一下vue-router組件中的push方法的使用情況,下一篇可以通過我主頁,查看vue-router組件中的push方法的params傳參方式的實現(xiàn),以及其他方法《替換當(dāng)前位置router.replace方法》的實現(xiàn)案例。

到此這篇關(guān)于vue路由$router.push()使用query傳參的實際開發(fā)使用的文章就介紹到這了,更多相關(guān)vue路由$router.push()用query傳參內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue-amap根據(jù)地址回顯地圖并mark的操作

    vue-amap根據(jù)地址回顯地圖并mark的操作

    這篇文章主要介紹了vue-amap根據(jù)地址回顯地圖并mark的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • vue項目實現(xiàn)圖片懶加載的簡單步驟

    vue項目實現(xiàn)圖片懶加載的簡單步驟

    懶加載的好處在于減少服務(wù)器的壓力,在網(wǎng)絡(luò)比較慢的情況下,可以提前給這張圖片添加一個占位圖片,提高用戶的體驗,這篇文章主要給大家介紹了關(guān)于vue項目實現(xiàn)圖片懶加載的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • Vue實現(xiàn)簡單的拖拽效果

    Vue實現(xiàn)簡單的拖拽效果

    這篇文章主要為大家詳細介紹了Vue實現(xiàn)簡單的拖拽效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • 多個vue項目實現(xiàn)共用一個node-modules文件夾

    多個vue項目實現(xiàn)共用一個node-modules文件夾

    這篇文章主要介紹了多個vue項目實現(xiàn)共用一個node-modules文件夾,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue 函數(shù)調(diào)用加括號與不加括號的區(qū)別

    vue 函數(shù)調(diào)用加括號與不加括號的區(qū)別

    這篇文章主要介紹了vue 函數(shù)調(diào)用加括號與不加括號的區(qū)別,幫助大家更好的理解和使用vue,感興趣的朋友可以了解下
    2020-10-10
  • vue中集成省市區(qū)街四級地址組件的實現(xiàn)過程

    vue中集成省市區(qū)街四級地址組件的實現(xiàn)過程

    我們在開發(fā)中常會遇到選擇地址的需求,有時候只需要選擇省就可以,有時候則需要選擇到市、縣,以至于鄉(xiāng)鎮(zhèn),甚至哪個村都有可能,下面這篇文章主要給大家介紹了關(guān)于vue中集成省市區(qū)街四級地址組件的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • vue3??mark.js?實現(xiàn)文字標(biāo)注功能(案例代碼)

    vue3??mark.js?實現(xiàn)文字標(biāo)注功能(案例代碼)

    這篇文章主要介紹了vue3??mark.js?實現(xiàn)文字標(biāo)注功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09
  • vue配置font-awesome5的方法步驟

    vue配置font-awesome5的方法步驟

    這篇文章主要介紹了vue配置font-awesome5的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • Vue+Element?switch組件的使用示例代碼詳解

    Vue+Element?switch組件的使用示例代碼詳解

    這篇文章主要介紹了Vue+Element?switch組件的使用,本文通過示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • 解決vue中axios設(shè)置超時(超過5分鐘)沒反應(yīng)的問題

    解決vue中axios設(shè)置超時(超過5分鐘)沒反應(yīng)的問題

    這篇文章主要介紹了解決vue中axios設(shè)置超時(超過5分鐘)沒反應(yīng)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09

最新評論

犍为县| 唐海县| 武平县| 随州市| 北辰区| 靖安县| 眉山市| 日土县| 财经| 宝兴县| 波密县| 兰溪市| 梧州市| 高要市| 偃师市| 通许县| 塔河县| 洪江市| 嘉禾县| 衡南县| 长宁区| 沧源| 伊吾县| 曲阜市| 六安市| 铁岭县| 鞍山市| 柏乡县| 合山市| 垦利县| 乌海市| 布拖县| 新密市| 肃南| 保靖县| 明星| 衡阳市| 双江| 赤壁市| 屯门区| 公安县|