导航栏组件template

<template>
<div class="sidebar">
<el-menu unique-opened :default-active="$route.path" class="my-menu" router background-color="#324157" text-color="#fff" >
<template v-for="(item , index) in $router.options.routes" v-if="item.meta.menuShow">
<el-submenu :index="item.path" v-if="item.children && item.children.length > 1">
<template slot="title">
{{item.meta.menuName}}
</template>
<el-menu-item v-for="(itemChild , index) in item.children" :index="itemChild.path" :key="index" v-if="itemChild.meta.menuShow">
<span>{{itemChild.meta.menuName}}</span>
</el-menu-item>
</el-submenu>
<el-menu-item :index="item.children[0].path" v-else>
{{item.children[0].meta.menuName}}
</el-menu-item>
</template>
</el-menu>
</div>
</template>

路由文件router/index.js

import Vue from 'vue';
import Router from 'vue-router';
Vue.use(Router) export default new Router({
routes: [
{
path: '/',
redirect: '/login',
meta: {
menuShow: false
}
},
{
path: '/login',
name: 'login',
component: Login,
meta: {
menuShow: false,
}
}, {
path: '/system',
name: 'system',
component: Home,
meta: {
menuShow: true, // 是否在导航栏中显示
menuName: '系统管理', // 导航栏中显示的名称
},
children: [
{
path: '/system/organization',
name: 'organization',
component: Organization,
meta: {
menuShow: true,
menuName: '组织架构',
}
},
{
path: '/system/userManage',
name: 'userManage',
component: UserManage,
meta: {
menuShow: true,
menuName: '用户管理',
}
},
{
path: '/system/systemSet',
name: 'systemSet',
component: SystemSet,
meta: {
menuShow: true,
menuName: '系统设置',
}
},
{
path: '/system/operationLog',
name: 'operationLog',
component: OperationLog,
meta: {
menuShow: true,
menuName: '操作日志',
}
},
]
},
]
})

vue+el-menu+vue-router实现动态导航条的更多相关文章

  1. Vue实现mp3音乐播放及动态进度条

    今天碰到一个Vue点击mp3播放及进度条动态走动的小功能,记录一下: 首先是通过HTML5 audio标签引入音频: <template> <div class="x-fo ...

  2. 使用Vue.prototype在vue中注册和使用全局变量

    在main.js中添加一个变量到Vue.prototype Vue.prototype.$appName = 'My App' 这样 $appName 就在所有的 Vue 实例中可用了,甚至在实例被创 ...

  3. Vue 2.0 + Vue Router + Vuex

    用 Vue.js 2.x 与相配套的 Vue Router.Vuex 搭建了一个最基本的后台管理系统的骨架. 当然先要安装 node.js(包括了 npm).vue-cli 项目结构如图所示: ass ...

  4. Vue04——vue自定义事件、Router、Vue-cli、发布上线

    一.Vue的自定义事件 点击任何一个按钮,按钮本身计数累加,但是每点击三个按钮中的一个,totalCounter 都要累加. <body> <div id="app&quo ...

  5. vue工程化与路由router

    一.介绍     vue.js 是 目前 最火的前端框架,vue.js 兼具 angular.js 和 react.js 的优点,并剔除它们的缺点.并且提供了很多的周边配套工具 如vue-router ...

  6. vue教程3-05 vue组件数据传递、父子组件数据获取,slot,router路由

    vue教程3-05 vue组件数据传递 一.vue默认情况下,子组件也没法访问父组件数据 <!DOCTYPE html> <html lang="en"> ...

  7. vue教程3-03 vue组件,定义全局、局部组件,配合模板,动态组件

    vue教程3-03 vue组件,定义全局.局部组件,配合模板,动态组件 一.定义一个组件 定义一个组件: 1. 全局组件 var Aaa=Vue.extend({ template:'<h3&g ...

  8. vue+vuex+axios+echarts画一个动态更新的中国地图

    一. 生成项目及安装插件 # 安装vue-cli npm install vue-cli -g # 初始化项目 vue init webpack china-map # 切到目录下 cd china- ...

  9. vue开发 - 根据vue-router的meta动态设置html里标签的内容

    路由文件 :router/index.js import Vue from 'vue'import Router from 'vue-router'import index '@/view/index ...

随机推荐

  1. Shell [[]]详解:检测某个条件是否成立

    [[ ]]是 Shell 内置关键字,它和 test 命令类似,也用来检测某个条件是否成立. test 能做到的,[[ ]] 也能做到,而且 [[ ]] 做的更好:test 做不到的,[[ ]] 还能 ...

  2. leetcood学习笔记-113-路径总和 II

    题目描述: 参考后的提交: class Solution(object): def pathSum(self, root, sum): """ :type root: T ...

  3. Perl 哈希

    Perl 哈希 哈希是 key/value 对的集合. Perl中哈希变量以百分号 (%) 标记开始. 访问哈希元素格式:${key}. 以下是一个简单的哈希实例: 实例 #!/usr/bin/per ...

  4. 关于SecureCRT链接服务器出现乱码的问题

    连接到服务器,选择上方的“选项”->“会话选项”->“外观”->右边的字符编码->utf-8

  5. [NOI.AC] palindrome

    思路: \(50pts\) \(f[l,r]\)表示区间\([l,r]\)能够变成多少个串,转移枚举\(l\),利用\(hash\)判字符串相等. 复杂度\(O(Tn^3)\) \(70pts\) 考 ...

  6. KdPrint/DbgPrint and UNICODE_STRING/ANSI_STRING

    typedef struct _UNICODE_STRING { USHORT Length; USHORT MaximumLength; PWSTR Buffer; } UNICODE_STRING ...

  7. ubuntu 删除 mysql (转)

    1 sudo apt-get autoremove --purge mysql-server-5.0 2 sudo apt-get remove mysql-server 3 sudo apt-get ...

  8. flink流的执行大致流程图

  9. [转]关于Repository模式

    原文链接:关于Repository模式 定义(来自Martin Fowler的<企业应用架构模式>): Mediates between the domain and data mappi ...

  10. GetOpenFilename的基本用法

    GetOpenFilename '一.概述基本语法 Application.GetOpenFilename 方法 显示标准的“打开”对话框,并获取用户文件名,而不必真正打开任何文件,只是把打开文件名称 ...