vue巢狀路由-query傳遞引數(三)
在巢狀路由中我們經常會遇到父路由向子路由裡面傳遞引數,傳遞引數有兩種方法,通過 query 或者 params
index.html
<div id="app">
<!-- router-view 路由出口, 路由匹配到的元件將渲染在這裡 -->
<router-view></router-view>
</div>
main.js 同樣通過重定向來顯示父路由
import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)
//引入兩個元件
import home from "./home.vue"
import game from "./game.vue"
//定義路由
const routes = [
{ path: "/", redirect: "/home" },//重定向
{
path: "/home", component: home,
children: [
{ path: "/home/game", component: game }
]
}
]
//建立路由例項
const router = new VueRouter({routes})
new Vue({
el: '#app',
data: {
id:123,
},
methods: {
},
router
})
home.vue 通過query來傳遞num引數為1,相當與在 url 地址後面拼接引數
<template>
<div>
<h3>首頁</h3>
<router-link :to="{ path:'/home/game', query: { num: 1} }">
<button>顯示<tton>
</router-link>
<router-view></router-view>
</div>
</template>
game.vue 子路由中通過 this.$route.query.num 來顯示傳遞過來的引數
<template>
<h3>王者榮耀{{ this.$route.query.num }}</h3>
</template>
執行後的結果,傳遞的引數在位址列中有顯示