1. 程式人生 > >vue巢狀路由-query傳遞引數(三)

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>


執行後的結果,傳遞的引數在位址列中有顯示