Elementui 导航组件和Vuejs路由结合, 达到点击导航切换路由,根据路由定位导航
一下是nav.vue代码,导航数据以json格式配置
<template>
<el-menu :default-active="$route.path"
class="el-menu-vertical-demo"
router=true
@open="handleOpen"
@close="handleClose"
background-color="#545c64"
text-color="#fff"
active-text-color="#ffd04b"
v-bind:aa="$route.path" >
<template v-for="item in menuDatas">
<el-submenu v-if="item.children&&item.children.length>0" v-bind:key="item.index" v-bind:index="item.src">
<template slot="title">
<i class="el-icon-location"></i>
<span >{{ item.title }}</span>
</template>
<el-menu-item-group v-if="item.children&&item.children.length>0" >
<el-menu-item v-for="item in item.children" v-bind:key="item.index" v-bind:index="item.src" >
<span >{{ item.title }}</span>
</el-menu-item>
</el-menu-item-group>
</el-submenu>
<el-menu-item v-else v-bind:key="item.index" v-bind:index="item.src">
<i class="el-icon-menu"></i>
<span >{{ item.title }}</span>
</el-menu-item>
</template>
</el-menu>
</template>
<script>
export default {
name: "LeechgNav",
data: function() {
var menuDatas = [
{index:"1", type: "href", title: "导航一", icon: "", src: "/1", children: [
{index:"1-2", type: "href", title: "选项一", icon: "", src: "/index", children: [] },
{index:"1-3", type: "href", title: "选项二", icon: "", src: "/lee", children: [] },
{index:"1-4", type: "href", title: "选项三", icon: "", src: "/lee2", children: [] }
] },
{index:"2", type: "href", title: "导航二", icon: "", src: "/2", children: [] },
{index:"3", type: "href", title: "导航三", icon: "", src: "/3", children: [] },
{index:"4", type: "href", title: "导航四", icon: "", src: "/4", children: [] }
];
return {
greeting: "Hello",
menuDatas
};
}
};
</script>
<style>
.leechg_index {
background-color: red;
color: white;
}
.el-row {
margin-bottom: 20px;
}
.el-col {
border-radius: 4px;
}
.bg-purple-dark {
background: #99a9bf;
}
.bg-purple {
background: #d3dce6;
}
.bg-purple-light {
background: #e5e9f2;
}
.grid-content {
border-radius: 4px;
min-height: 36px;
}
.row-bg {
padding: 10px 0;
background-color: #f9fafc;
}
a{
color: white;
text-decoration: none;
color: inherit;
text-decoration: inherit;
}
</style>