溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

vue嵌套路由中params傳遞參數(shù)的示例分析

發(fā)布時(shí)間:2021-07-22 15:35:50 來(lái)源:億速云 閱讀:163 作者:小新 欄目:web開發(fā)

這篇文章主要介紹vue嵌套路由中params傳遞參數(shù)的示例分析,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

在嵌套路由中,父路由向子路由傳值除了query外,還有params,params傳值有兩種情況,一種是值在url中顯示,另外一種是值不顯示在url中。

1、顯示在url中

index.html

<div id="app"> 
  <!-- router-view 路由出口, 路由匹配到的組件將渲染在這里 --> 
  <router-view></router-view> 
  </div>

main.js params傳值是通過(guò) :[參數(shù)值] 如path: "/home/game/:num"

import Vue from 'vue' 
import VueRouter from 'vue-router' 
Vue.use(VueRouter) 
//引入兩個(gè)組件 
import home from "./home.vue" 
import game from "./game.vue" 
//定義路由 
const routes = [ 
  { path: "/", redirect: "/home" },//重定向 
  { 
    path: "/home", component: home, 
    children: [ 
      { path: "/home/game/:num", component: game } 
    ] 
  } 
] 
//創(chuàng)建路由實(shí)例 
const router = new VueRouter({routes}) 
 
new Vue({ 
  el: '#app', 
  data: { 
    id:123, 
  }, 
  methods: { 
  }, 
  router 
})

home.vue 在home中具體的值就跟在路徑后面,如 “/home/game/123”,也就是說(shuō)傳遞給子路由的值就是 123

<template> 
  <div> 
    <h4>首頁(yè)</h4> 
    <router-link to="/home/game/123"> 
      <button>顯示</button> 
    </router-link> 
    <router-view></router-view> 
  </div> 
</template>

game.vue 在子路由中,通過(guò) this.$route.params.參數(shù)名來(lái)接受傳遞過(guò)來(lái)的值

<template> 
  <h4>王者榮耀{{ this.$route.params.num }}</h4> 
  </template>

vue嵌套路由中params傳遞參數(shù)的示例分析

2、不顯示在url中,如果在PC端將傳遞的值顯示在url中,這樣無(wú)形中就存在安全隱患,如果客戶不小心修改了url那樣就會(huì)出錯(cuò),移動(dòng)端就無(wú)所謂了,如何才能不顯示在url中,同樣很簡(jiǎn)單,但是需要給映射的路徑起一個(gè)別名,通過(guò)name來(lái)取別名

同樣只需將上面的main.js中的定義路由改為如下樣子,在子路由中通過(guò)name來(lái)給路徑其一個(gè)game1的別名。

//定義路由 
const routes = [ 
  { path: "/", redirect: "/home" },//重定向 
  { 
    path: "/home", component: home, 
    children: [ 
      { name: "game1", path: "/home/game/", component: game } 
    ] 
  } 
]

home.vue 中router-link修改為:to="{ name:'game1', params: {num: 123} }" params中是要傳遞的參數(shù),這樣傳遞的參數(shù)就不會(huì)顯示在url中。

<template> 
  <div> 
    <h4>首頁(yè)</h4> 
    <router-link :to="{ name:'game1', params: {num: 123} }"> 
      <button>顯示</button> 
    </router-link> 
    <router-view></router-view> 
  </div> 
</template>

運(yùn)行的結(jié)果如下圖

vue嵌套路由中params傳遞參數(shù)的示例分析

以上是“vue嵌套路由中params傳遞參數(shù)的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI