vue子路由跳轉(zhuǎn)實現(xiàn)tab選項卡效果
tab選項卡的布局在項目中是很常見的,在后臺管理系統(tǒng)中左邊是導(dǎo)航欄固定,右邊是對應(yīng)的頁面,每次點擊左邊的標(biāo)題,只有右面的對應(yīng)頁面在切換,而vue要做tab選項卡,推薦使用實現(xiàn)a標(biāo)簽的效果,然后使用實現(xiàn)插槽的效果,把對應(yīng)的頁面 “塞” 進去,具體實現(xiàn)看下面的案例:
vue文件
<template> ? ? <div class="box"> ? ? ? ? <!-- nav標(biāo)題,路由指向 --> ? ? ? ?<div class="left"> ? ? ? ? ? ?<router-link :to="item.src" v-for="(item,index) in navData" :key="index">{{item.title}}</router-link> ? ? ? ?</div> ? ? ? ?<div class="right"> ? ? ? ? ? ?<!-- 路由跳轉(zhuǎn)的位置 --> ? ? ? ? ? ?<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 ? ? ? ? } ? ? ? ] ? ? } ? ] })
注意:當(dāng)在router.js中的routes中寫上name: 'Index',時在控制臺會有下面的警告,所以可以刪掉此句。
右邊要顯示頁面的內(nèi)容
<!-- ?nav1.vue--> ?? ?<template> ? ? <div> ? ? ? ? 這是nav1 ? ? </div> </template> <!-- ?nav2.vue--> ?? ?<template> ? ? <div> ? ? ? ? 這是nav2 ? ? </div> </template> <!-- ?nav3.vue--> ?? ?<template> ? ? <div> ? ? ? ? 這是nav3 ? ? </div> </template>
效果圖
簡單的子路由跳轉(zhuǎn)實現(xiàn)tab選項卡效果就實現(xiàn)啦
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
ElementUI修改實現(xiàn)更好用圖片上傳預(yù)覽組件
這篇文章主要為大家介紹了ElementUI修改實現(xiàn)更好用圖片上傳預(yù)覽組件示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09Vue中的echarts圖表如何實現(xiàn)loading效果
這篇文章主要介紹了Vue中的echarts圖表如何實現(xiàn)loading效果,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08如何利用vue展示.docx文件、excel文件和csv文件內(nèi)容
最近遇到了一些新的需求,需要前端實現(xiàn)文件預(yù)覽功能,下面這篇文章主要給大家介紹了關(guān)于如何利用vue展示.docx文件、excel文件和csv文件內(nèi)容的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-04-04