路由:
const routes = [
{
path: '/',
name: 'Home',
meta:{isLogin:true,title: 'Home'},// 添加该字段,表示进入这个路由是需要登录的
component: resolve=>(require(["@/views/index.vue"],resolve)),
children: [
{
path: '/monitor',
name: 'monitor',
meta:{isLogin:true,title: 'monitor'},// 添加该字段,表示进入这个路由是需要登录的
component: resolve=>(require(["@/views/monitor.vue"],resolve))
},
{
path: '/realTime',
name: 'realTime',
meta:{isLogin:true,title: 'realTime'},// 添加该字段,表示进入这个路由是需要登录的
component: resolve=>(require(["@/views/realTime.vue"],resolve))
}
]
},
{
path: '/homePage',
name: 'homePage',
meta:{isLogin:true,title: 'homePage'},// 添加该字段,表示进入这个路由是需要登录的
component: resolve=>(require(["@/views/homePage.vue"],resolve))
},
{
path: '/login',
name: 'login',
meta:{title: 'login'},// 添加该字段,表示进入这个路由是需要登录的
component: resolve=>(require(["@/views/login.vue"],resolve))
},
{
path: '/register',
name: 'register',
meta:{isLogin:true,title: 'register'},// 添加该字段,表示进入这个路由是需要登录的
component: resolve=>(require(["@/views/register.vue"],resolve))
},
{
path: '/history',
name: 'history',
meta:{isLogin:true,title: 'history'},// 添加该字段,表示进入这个路由是需要登录的
component: resolve=>(require(["@/views/history.vue"],resolve))
},
{
path: '/report',
name: 'report',
meta:{isLogin:true,title: 'report'},// 添加该字段,表示进入这个路由是需要登录的
component: resolve=>(require(["@/views/report.vue"],resolve))
},
{
path: '/report',
name: 'report',
meta:{isLogin:true,title: 'report'},// 添加该字段,表示进入这个路由是需要登录的
component: resolve=>(require(["@/views/report.vue"],resolve))
},
{
path: '/interval',
name: 'interval',
meta:{isLogin:true,title: 'report'},// 添加该字段,表示进入这个路由是需要登录的
component: resolve=>(require(["@/views/component/statistics/interval.vue"],resolve))
},
{
path: '/timeChara',
name: 'timeChara',
meta:{isLogin:true,title: 'report'},// 添加该字段,表示进入这个路由是需要登录的
component: resolve=>(require(["@/views/component/statistics/timeChara.vue"],resolve))
},
{
path: '/powerAnaly',
name: 'powerAnaly',
meta:{isLogin:true,title: 'report'},// 添加该字段,表示进入这个路由是需要登录的
component: resolve=>(require(["@/views/component/statistics/powerAnaly.vue"],resolve))
}
]菜单
<el-menu
router
v-if="activeIndex"
:default-active="activeIndex"
class="el-menu-vertical-demo"
@open="handleOpen"
@close="handleClose"
text-color="#fff"
active-text-color="#ffd04b">
<el-menu-item index="/homePage" class="el-menu-li">
<i class="el-icon-menu"></i>
<span slot="title">首页大屏</span>
</el-menu-item>
<el-menu-item index="/" class="el-menu-li">
<i class="el-icon-document"></i>
<span slot="title">充电桩监控</span>
</el-menu-item>
<el-menu-item index="/history" class="el-menu-li">
<i class="el-icon-setting"></i>
<span slot="title">历史数据</span>
</el-menu-item>
<el-submenu index="4">
<template slot="title">
<i class="el-icon-location"></i>
<span>统计分析</span>
</template>
<el-menu-item-group>
<el-menu-item index="/interval">充电起止区间统计</el-menu-item>
<el-menu-item index="/timeChara">充电时间特性</el-menu-item>
<el-menu-item index="/powerAnaly">充电电量分析</el-menu-item>
</el-menu-item-group>
</el-submenu>
</el-menu>关键以下代码
data() {
return {
activeIndex : '/homePage'
}
},
watch: {
$route () {
this.setCurrentRoute()
}
},
methods: {
setCurrentRoute () {
this.activeIndex = this.$route.path //关键 通过他就可以监听到当前路由状态并激活当前菜单
},
handleOpen(key, keyPath) {
console.log(key, keyPath);
},
handleClose(key, keyPath) {
console.log(key, keyPath);
}
},
created () {
this.setCurrentRoute()
},
版权声明:本文为sunlizhen原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。