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

2020-06-14 06:20:36易采站长站整理

// 页面二
import PageTwo from "../pages/PageTwo"
// 页面三
import PageThree from "../pages/PageThree"

Vue.use(Router);

export default new Router({
routes: [
{
// 默认显示的页面
path: '/',
name: 'Tab',
component: Tab,
children:[
{
// 子路由中默认显示的页面
path: '',
name: 'PageOne',
component: PageOne
},
{
path: 'PageTwo',
name: 'PageTwo',
component: PageTwo
},
{
path: 'PageThree',
name: 'PageThree',
component: PageThree
}
] }
]})

这里再提供一种情况:比如我默认显示的是登录页面,登录进入后是首页,是tab选项卡的布局,所以我只要给首页配置子路由就可以了


import Vue from 'vue'
import Router from 'vue-router'
// import HelloWorld from '@/components/HelloWorld'
// 首页框架
import Index from "../pages/Index";
// 首页
import FunctionsIndex from "../components/Functions/FunctionsIndex";
// 数据源列表
import FunctionsDbSource from "../components/Functions/FunctionsDbSource"
// 角色管理
import FunctionsRoleManagement from "../components/Functions/FunctionsRoleManagement"
// 登录
import Login from "../pages/Login"
Vue.use(Router);

export default new Router({
linkExactActiveClass: "act",
mode: "history",
routes: [
{
// 首页
path: '/Index',
name: 'Index',
component: Index,
children: [
{
// 首页中默认显示统计页面
path: '',
name: 'Total',
component: FunctionsIndex
},
{
path: 'DbSource',
name: 'DbSource',
component: FunctionsDbSource
},
{
path: 'RoleManagement',
name: 'RoleManagement',
component: FunctionsRoleManagement
}
] },
// 默认显示登录页面
{
path: '/',
name: 'Login',
component: Login
}
]})

3、配置json文件

因为每个系统,侧边栏的导航标题都不一样,而且也不能保证后期不会再加,所以我推荐把导航标题提出来,到时候只要v-for循环<router-link>就可以了(循环具体操作返回上面看第一个代码块),然后在选项卡页面引入json,在vue方法中把它赋值给data中的变量,创建后调用方法即可,之后再增加导航标题,只需要在json中增加即可


{
"navData":[
{
"title":"子页一",
"url":"/"
},
{
"title":"子页二",
"url":"/PageTwo"
},
{
"title":"子页三",
"url":"/PageThree"