vue子路由跳轉(zhuǎn)實(shí)現(xiàn)tab選項(xiàng)卡效果
tab選項(xiàng)卡的布局在項(xiàng)目中是很常見(jiàn)的,在后臺(tái)管理系統(tǒng)中左邊是導(dǎo)航欄固定,右邊是對(duì)應(yīng)的頁(yè)面,每次點(diǎn)擊左邊的標(biāo)題,只有右面的對(duì)應(yīng)頁(yè)面在切換,而vue要做tab選項(xiàng)卡,推薦使用實(shí)現(xiàn)a標(biāo)簽的效果,然后使用實(shí)現(xiàn)插槽的效果,把對(duì)應(yīng)的頁(yè)面 “塞” 進(jìn)去,具體實(shí)現(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中寫(xiě)上name: 'Index',時(shí)在控制臺(tái)會(huì)有下面的警告,所以可以刪掉此句。

右邊要顯示頁(yè)面的內(nèi)容
<!-- ?nav1.vue--> ?? ?<template> ? ? <div> ? ? ? ? 這是nav1 ? ? </div> </template> <!-- ?nav2.vue--> ?? ?<template> ? ? <div> ? ? ? ? 這是nav2 ? ? </div> </template> <!-- ?nav3.vue--> ?? ?<template> ? ? <div> ? ? ? ? 這是nav3 ? ? </div> </template>
效果圖

簡(jiǎn)單的子路由跳轉(zhuǎn)實(shí)現(xiàn)tab選項(xiàng)卡效果就實(shí)現(xiàn)啦
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue實(shí)現(xiàn)簡(jiǎn)單計(jì)算商品價(jià)格
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)簡(jiǎn)單計(jì)算商品價(jià)格,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-09-09
Vue純前端如何實(shí)現(xiàn)導(dǎo)出簡(jiǎn)單Excel表格的功能
這篇文章主要介紹了如何在Vue項(xiàng)目中使用vue-json-excel插件實(shí)現(xiàn)Excel表格的導(dǎo)出功能,包括安裝依賴(lài)、引入插件、使用組件、設(shè)置表頭和數(shù)據(jù)、處理空數(shù)據(jù)情況、源代碼修改以解決常見(jiàn)問(wèn)題,需要的朋友可以參考下2025-01-01
vue中用動(dòng)態(tài)組件實(shí)現(xiàn)選項(xiàng)卡切換效果
本篇文章主要介紹了vue中用動(dòng)態(tài)組件實(shí)現(xiàn)選項(xiàng)卡切換效果,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03
vue項(xiàng)目中如何將當(dāng)前頁(yè)面生成圖片
這篇文章主要介紹了vue項(xiàng)目中如何將當(dāng)前頁(yè)面生成圖片問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10
vuejs如何解決瀏覽器切換頁(yè)面后setInterval計(jì)時(shí)器停止執(zhí)行的問(wèn)題
setinterval()是定時(shí)調(diào)用的函數(shù),可按照指定的周期(以毫秒計(jì))來(lái)調(diào)用函數(shù)或計(jì)算表達(dá)式,這篇文章主要給大家介紹了關(guān)于vuejs如何解決瀏覽器切換頁(yè)面后setInterval計(jì)時(shí)器停止執(zhí)行的問(wèn)題,需要的朋友可以參考下2024-01-01
vue+element項(xiàng)目中過(guò)濾輸入框特殊字符小結(jié)
這篇文章主要介紹了vue+element項(xiàng)目中過(guò)濾輸入框特殊字符小結(jié),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08

