欢迎来到代码驿站!

vue

当前位置:首页 > 网页前端 > vue

vue子路由跳转实现tab选项卡效果

时间:2022-08-11 11:27:14|栏目:vue|点击:

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选项卡效果就实现啦

上一篇:Vue作用域插槽slot-scope实例代码

栏    目:vue

下一篇:Vue 设置图片不转为base64的方式

本文标题:vue子路由跳转实现tab选项卡效果

本文地址:http://www.codeinn.net/misctech/210452.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有