vue子路由跳轉實現tab選項卡效果
tab選項卡的佈局在項目中是很常見的,在後臺管理系統中左邊是導航欄固定,右邊是對應的頁面,每次點擊左邊的標題,隻有右面的對應頁面在切換,而vue要做tab選項卡,推薦使用實現a標簽的效果,然後使用實現插槽的效果,把對應的頁面 “塞” 進去,具體實現看下面的案例:
vue文件
<template> <div class="box"> <!-- nav標題,路由指向 --> <div class="left"> <router-link :to="item.src" v-for="(item,index) in navData" :key="index">{{item.title}}</router-link> </div> <div class="right"> <!-- 路由跳轉的位置 --> <router-view></router-view> </div> </div> </template> <script> export default { name:"Index", data(){ return{ navData:[ { title:"title一", src:"/" }, { title:"title二", src:"/nav2" }, { title:"title三", src:"/nav3" } ] } } } </script> <style scoped> .box{ width: 100%; height: 100%; display: flex; background: rgba(0,0,0,.8) } .left{ width:200px; height: 100%; text-align: center; background: rgba(0,0,0,.4); padding: 20px; } .left a{ text-decoration: none; display: block; margin-top: 20px; width: 100%; color: #fff; } .right{ flex: 1; padding: 20px; color: #fff; } </style>
router.js
import Vue from 'vue' import Router from 'vue-router' import Index from './views/Index.vue' import nav1 from './components/Index/nav1.vue' import nav2 from './components/Index/nav2.vue' import nav3 from './components/Index/nav3.vue' Vue.use(Router) export default new Router({ //去掉# mode: 'history', base: process.env.BASE_URL, routes: [ { path: '/', //name: 'Index', component: Index, children:[ { path:'', name:'nav1', component:nav1 }, { path:'nav2', name:'nav2', component:nav2 }, { path:'nav3', name:'nav3', component:nav3 } ] } ] })
註意:當在router.js中的routes中寫上name: 'Index',時在控制臺會有下面的警告,所以可以刪掉此句。
右邊要顯示頁面的內容
<!-- nav1.vue--> <template> <div> 這是nav1 </div> </template> <!-- nav2.vue--> <template> <div> 這是nav2 </div> </template> <!-- nav3.vue--> <template> <div> 這是nav3 </div> </template>
效果圖
簡單的子路由跳轉實現tab選項卡效果就實現啦
以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。