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

vue router使用query和params傳參的使用和區(qū)別

 更新時間:2017年11月13日 17:21:04   作者:OBKoro1  
本篇文章主要介紹了vue router使用query和params傳參的使用和區(qū)別,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

寫在前面:

傳參是前端經(jīng)常需要用的一個操作,很多場景都會需要用到上個頁面的參數(shù),本文將會詳細介紹vue router 是如何進行傳參的,以及一些小細節(jié)問題。有需要的朋友可以做一下參考,喜歡的可以點波贊,或者關(guān)注一下,希望可以幫到大家。

Vue router如何傳參

params、query是什么?

params:/router1/:id ,/router1/123,/router1/789 ,這里的id叫做params

query:/router1?id=123 ,/router1?id=456 ,這里的id叫做query。

路由界面:

router.js:

路由設(shè)置這里,當(dāng)你使用params方法傳參的時候,要在路由后面加參數(shù)名,并且傳參的時候,參數(shù)名要跟路由后面設(shè)置的參數(shù)名對應(yīng)。使用query方法,就沒有這種限制,直接在跳轉(zhuǎn)里面用就可以。

 

注意:如果路由上面不寫參數(shù),也是可以傳過去的,但不會在url上面顯示出你的參數(shù),并且當(dāng)你跳到別的頁面或者刷新頁面的時候參數(shù)會丟失(如下圖所示),那依賴這個參數(shù)的http請求或者其他操作就會失敗。

 

注意看上面的路由參數(shù),id這個參數(shù)是我們有設(shè)置在路由上面的,id2我沒有設(shè)置在路由里面,所以刷新之后id2就不見了,在項目中,我們總不可能要求用戶不能刷新吧。

組件1:

<template>
 <div class="app_page">
 <h1>從這個路由傳參到別的路由</h1>
 <router-link :to="{ name:'router1',params: { id: status ,id2: status3},query: { queryId: status2 }}" >
  router-link跳轉(zhuǎn)router1
 </router-link>
 </div>
</template>
<script>
export default {
 name: 'app_page',
 data () {
 return {
  status:110,
  status2:120,
  status3:119
 }
 },
}
</script>

編程式導(dǎo)航跳轉(zhuǎn):

上面的router-link傳參,也可以使用router文檔里面的編程式導(dǎo)航來跳轉(zhuǎn)傳參。

this.$router.push({ name:'router1',params: { id: status ,id2: status3},query: { queryId: status2 }});
//編程跳轉(zhuǎn)寫在一個函數(shù)里面,通過click等方法來觸發(fā)

這兩種傳參效果是一模一樣的,編程式導(dǎo)航,可以用來做判斷跳轉(zhuǎn),比如是否授權(quán),是否登錄,等等狀態(tài),對此不太了解的小伙伴們,可以跳過這個編程式導(dǎo)航,以后再來看。

組件2:

<template>
 <div class="router1">
 <h1>接收參數(shù)的路由</h1>
 <h1> params.id:{{ $route.params }}</h1>
 <h1>query.status:{{ $route.query.queryId }}</h1>
 <keep-alive>
  <router-view></router-view>
 </keep-alive>
 </div>
</template>

傳參還是比較簡單的,按著上面組件的使用方法就可以成功傳過去了。

提示:獲取路由上面的參數(shù),用的是$route,后面沒有r。

params傳參和query傳參有什么區(qū)別: 

1、用法上的

剛query要用path來引入,params要用name來引入,接收參數(shù)都是類似的,分別是this.$route.query.name和this.$route.params.name。

注意接收參數(shù)的時候,已經(jīng)是$route而不是$router了哦?。?/p>

2、展示上的

query更加類似于我們ajax中g(shù)et傳參,params則類似于post,說的再簡單一點,前者在瀏覽器地址欄中顯示參數(shù),后者則不顯示

query:

      

params:

3、params是路由的一部分,必須要有。query是拼接在url后面的參數(shù),沒有也沒關(guān)系。

params一旦設(shè)置在路由,params就是路由的一部分,如果這個路由有params傳參,但是在跳轉(zhuǎn)的時候沒有傳這個參數(shù),會導(dǎo)致跳轉(zhuǎn)失敗或者頁面會沒有內(nèi)容。

比如:跳轉(zhuǎn)/router1/:id

<router-link :to="{ name:'router1',params: { id: status}}" >正確</router-link>
<router-link :to="{ name:'router1',params: { id2: status}}">錯誤</router-link>

4、params、query不設(shè)置也可以傳參,params不設(shè)置的時候,刷新頁面或者返回參數(shù)會丟失,這一點的在上面說過了

后話:

本文到這里就結(jié)束了,寫的不好的地方,請各位大佬們見諒。以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • element?Drawer?抽屜無法渲染問題及解決

    element?Drawer?抽屜無法渲染問題及解決

    這篇文章主要介紹了element?Drawer?抽屜無法渲染問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Vuejs對象常用操作之取對應(yīng)的值、取key和value值、轉(zhuǎn)數(shù)組及合并等

    Vuejs對象常用操作之取對應(yīng)的值、取key和value值、轉(zhuǎn)數(shù)組及合并等

    最近在學(xué)Vue和javascript感覺js的好多方法都不太清楚,這里徹底總結(jié)下,這篇文章主要給大家介紹了關(guān)于Vuejs對象常用操作之取對應(yīng)的值、取key和value值、轉(zhuǎn)數(shù)組及合并等的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • vue.js打包之后可能會遇到的坑!

    vue.js打包之后可能會遇到的坑!

    這篇文章主要給大家介紹了關(guān)于vue.js打包之后可能會遇到的一些坑,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-06-06
  • Vue3中使用setup通過ref獲取子組件的屬性

    Vue3中使用setup通過ref獲取子組件的屬性

    這篇文章主要介紹了Vue3中使用setup通過ref獲取子組件的屬性,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • 淺談Vue的雙向綁定和單向數(shù)據(jù)流沖突嗎

    淺談Vue的雙向綁定和單向數(shù)據(jù)流沖突嗎

    單項數(shù)據(jù)流和雙向數(shù)據(jù)綁定的概念,這兩種不是相互沖突的嗎?即然能用v-model雙向數(shù)據(jù)綁定,不應(yīng)該就是雙向數(shù)據(jù)流了嗎?本文就詳細的介紹一下
    2022-04-04
  • Vue3監(jiān)聽store中數(shù)據(jù)變化的三種方式

    Vue3監(jiān)聽store中數(shù)據(jù)變化的三種方式

    這篇文章給大家介紹了Vue3監(jiān)聽store中數(shù)據(jù)變化的三種方法,使用watch和storeToRefs函數(shù),使用計算屬性computed和使用watchEffect函數(shù)這三種方法,文中通過代碼講解非常詳細,需要的朋友可以參考下
    2024-01-01
  • vue axios 在頁面切換時中斷請求方法 ajax

    vue axios 在頁面切換時中斷請求方法 ajax

    下面小編就為大家分享一篇vue axios 在頁面切換時中斷請求方法 ajax,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • vxe-table如何在單元格中渲染簡單的餅圖

    vxe-table如何在單元格中渲染簡單的餅圖

    這篇文章主要介紹了vxe-table如何在單元格中渲染簡單的餅圖,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 一文了解Vue中的nextTick

    一文了解Vue中的nextTick

    Vue中的 nextTick 涉及到Vue中DOM的異步更新,感覺很有意思,特意了解了一下。其中關(guān)于 nextTick 的源碼涉及到不少知識,很多不太理解,暫且根據(jù)自己的一些感悟介紹下 nextTick
    2019-05-05
  • vue.js全局API之nextTick全面解析

    vue.js全局API之nextTick全面解析

    本篇文章主要介紹了vue.js全局API之nextTick全面解析,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07

最新評論

屯昌县| 佳木斯市| 通海县| 唐山市| 新野县| 阜宁县| 云霄县| 潞西市| 昂仁县| 贵定县| 红原县| 清徐县| 什邡市| 元谋县| 华宁县| 社旗县| 建昌县| 罗源县| 清涧县| 壶关县| 和硕县| 虞城县| 邵东县| 东丰县| 揭东县| 兴隆县| 宁津县| 策勒县| 陵水| 溧阳市| 新源县| 佛坪县| 延吉市| 遂昌县| 枝江市| 县级市| 江川县| 梁平县| 济阳县| 潼南县| 保德县|