一、动态树功能
1.把树形菜单变成动态数据,拿到数据库中的数据
先在main.js里面关闭昨天的mock
// process.env.MOCK && require('@/mock')
再在LeftNav.vue里面写入:
<script>
export default {
data(){
return{
collapsed:false
}
},
created(){/* 钩子函数 :只要组件被访问了,就执行这里面*/
let url = this.axios.urls.SYSTEM_MENU_TREE;
this.axios.post(url, this.ruleForm).then((resp) =>{
console.log(resp);
}).catch(function(error) {
console.log(error);
});
this.$root.Bus.$on("collapsed-aside",(v)=>{
this.collapsed = v;
});
}
}
</script>
在LeftNav.vue留一个树形菜单,在<template>多余的删了:
<template>
<el-menu default-active="2" class="el-menu-vertical-demo" background-color="#334157"
text-color="#fff" active-text-color="#ffd04b" :collapse="collapsed">
<!-- <el-menu default-active="2" :collapse="collapsed" collapse-transition router :default-active="$route.path" unique-opened class="el-menu-vertical-demo" background-color="#334157" text-color="#fff" active-text-color="#ffd04b"> -->
<div class="logobox">
<img class="logoimg" src="../assets/img/logo.png" alt="">
</div>
<el-submenu index="1-4">
<template slot="title">选项4</template>
<el-menu-item index="1-4-1">选项1</el-menu-item>
</el-submenu>
</el-menu>
</template>
LeftNav.vue添加图标样式:
<template slot="title">
<i class="el-icon-location"></i>
<span>一级菜单</span>
</template>
<template>
<el-menu default-active="2" class="el-menu-vertical-demo" background-color="#334157"
text-color="#fff" active-text-color="#ffd04b" :collapse="collapsed">
<!-- <el-menu default-active="2" :collapse="collapsed" collapse-transition router :default-active="$route.path" unique-opened class="el-menu-vertical-demo" background-color="#334157" text-color="#fff" active-text-color="#ffd04b"> -->
<div class="logobox">
<img class="logoimg" src="../assets/img/logo.png" alt="">
</div>
<el-submenu index="1-4">
<template slot="title">
<i class="el-icon-location"></i>
<span>一级菜单</span>
</template>
<el-menu-item index="1-4-1">
<template slot="title">
<i class="el-icon-location"></i>
<span>二级菜单</span>
</template>
</el-menu-item>
</el-submenu>
</el-menu>
</template>
LeftNav.vue:
通过v-for="m in menus调用方法:
<template>
<el-menu default-active="2" class="el-menu-vertical-demo" background-color="#334157"
text-color="#fff" active-text-color="#ffd04b" :collapse="collapsed">
<!-- <el-menu default-active="2" :collapse="collapsed" collapse-transition router :default-active="$route.path" unique-opened class="el-menu-vertical-demo" background-color="#334157" text-color="#fff" active-text-color="#ffd04b"> -->
<div class="logobox">
<im