在應用介面開發中通常由多層巢狀的元件組合而成。但隨著頁面的增多,如果把所有的頁面都塞到一個 routes
陣列裡面會顯得很亂,你無法確定哪些頁面存在關係。藉助 vue-router
提供了巢狀路由的功能,讓我們能把相關聯的頁面組織在一起。【相關推薦:】
在我們的商城專案中,後臺管理頁 Admin
涉及到很多操作頁面,比如:
/admin
主頁面/admin/create
建立新資訊/admin/edit
編輯資訊讓我們通過巢狀路由的方式將它們組織在一起。
在src/views下建立 Admin.vue,並建立admin目錄,以用來存放admin的子頁面( 使用vue-router的子路由,需要在父元件利用 router-view
佔位 )
Admin.vue
<template> <div class="title"> <h1>{{ msg }}</h1> <!-- 路由插槽 --> <router-view></router-view> </div> </template> <script> export default { name: "home", data() { return { msg: "This is the Admin Page", }; }, }; </script> <style scoped> </style>
在src/views下建立admin目錄用來存放admin的子頁面,在admin目錄下新建Create.vue 和 Edit.vue 來實現/create
建立新的商品/edit
編輯商品資訊
Create.vue
<template> <div> <div class="title"> <h1>This is Admin/Create</h1> </div> </div> </template>
Edit.vue
<template> <div> <div class="title"> <h1>This is Admin/Edit</h1> </div> </div> </template>
增加子路由,子路由的寫法是在原有的路由設定下加入children欄位。
children:[ {path:'/',component:xxx}, {path:'xx',component:xxx}]
注意:children裡面的path 不要加 / ,加了就表示是根目錄下的路由。
index.js
import Vue from 'vue'import VueRouter from 'vue-router'import Admin from '@/views/Admin.vue'// 匯入admin子路由import Create from '@/views/admin/Create';import Edit from '@/views/admin/Edit';Vue.use(VueRouter)const routes = [ { path: '/admin', name: 'Admin', component: Admin, children: [ { path: 'create', component: Create, }, { path: 'edit', component: Edit, } ] }]const router = new VueRouter({ routes})export default router
至此 Vue-router 子路由(巢狀路由)建立完成
在應用介面開發中通常由多層巢狀的元件組合而成。但隨著頁面的增多,如果把所有的頁面都塞到一個 routes
陣列裡面會顯得很亂,你無法確定哪些頁面存在關係。藉助 vue-router
提供了巢狀路由的功能,讓我們能把相關聯的頁面組織在一起。
以上就是詳解Vue-router子路由(巢狀路由)如何建立的詳細內容,更多請關注TW511.COM其它相關文章!