vue导航栏部分的动态渲染实例


Posted in Javascript onNovember 01, 2019

根据公司项目的需求,使用的是element-ui的nav-menu组件实现动态渲染左侧导航条的功能,这里我只写到了四级菜单。

代码部分:

<el-menu class='el-menu-vertical-demo' :router='true' v-for='(item, index) in navMenu' :key='index'>
  <el-submenu v-if='item.childs' :index='item.name' :route = 'item.value' class='edit_wrapper' @mouseover.native="overShow" @mouseout.native="outHide">
  <template slot='title'>
   <i :class='item.icon'></i>
   <span slot='title'>{{item.alias}}</span>
   <i class='iconfont icon-shenpi edit' v-show='haha'></i>
  </template>
  <el-submenu v-if='item1.childs' v-for= '(item1, index) in item.childs' :key='item1.name' :index='item1.name' :route='item1.value'>
   <template slot='title'>
   <i :class='item1.icon'></i>
   <span slot='title'>{{item1.alias}}</span>
   </template>
   <el-submenu v-for= '(item2, index) in item1.childs' :key='item2.name' v-if='item2.childs' :index='item2.name' :route = 'item2.value'>
   <template slot='title'>
    <i :class='item2.icon'></i>
    <span slot='title'>{{item2.alias}}</span>
   </template>
   <el-submenu v-for= '(item3, index) in item2.childs' :key='item3.name' v-if='item3.childs' ::index='item3.name' :route = 'item3.value'>
    <template slot='title'>
    <i :class='item3.icon'></i>
    <span slot='title'>{{item3.alias}}</span>
    </template>
    <el-menu-item v-for= '(item4, index) in item3.childs' :key='item3.name' v-if='item4.childs == null' :index='item4.name' :route = 'item4.value'>
    <span>{{item4.alias}}</span>
    </el-menu-item>
   </el-submenu>
   <el-menu-item v-for= '(item3, index) in item2.childs' :key='item3.name' v-if='item3.childs == null' :index='item3.name' :route = 'item3.value'>
    <span>{{item3.alias}}</span>
   </el-menu-item>
   </el-submenu>
   <el-menu-item v-for= '(item2, index) in item1.childs' :key='item2.name' v-if='item2.childs == null' :index='item2.name' :route = 'item2.value'>
   <span>{{item2.alias}}</span>
   </el-menu-item>
  </el-submenu>
  <el-menu-item v-for= '(item1, index) in item.childs' :key='item1.name' v-if='item1.childs == null' :index='item1.name' :route = 'item1.value'>
   <span>{{item1.alias}}</span>
  </el-menu-item>
  </el-submenu>
  <el-menu-item v-if='item.childs == null' :index='item.name' :route = 'item.value'>
  <i :class='item.icon'></i>
  <span slot='title'>{{item.alias}}</span>
  </el-menu-item>
  </el-menu>

数据部分:

navMenu: [{
  name: 'serveList',
  icon: 'iconfont icon-shezhi',
  alias: '金融服务目录',
  value: '',
  childs: [
  {
  name: 'channelManage',
  icon: '',
  alias: '渠道管理',
  value: '',
  childs: [
  {
   name: 'channelManage_in',
   icon: '',
   alias: '渠道内部管理',
   value: '',
   childs: [
   {
   name: 'financial',
   icon: '',
   alias: '金融类',
   value: '/serveManage/financial',
   },
   {
   name: 'no_financial',
   icon: '',
   alias: '非金融类',
   value: '/serveManage/no_financial',
   },
   {
   name: 'query_class',
   icon: '',
   alias: '查询类',
   value: '/serveManage/query_class',
   },
   {
   name: 'square_class',
   icon: '',
   alias: '冲正类',
   value: '/serveManage/square_class',
   },
   ]
  },
  {
   name: 'process_services',
   icon: '',
   alias: '流程服务',
   value: '/serveManage/process_services'
  },
  {
   name: 'cooperation_services',
   icon: '',
   alias: '合作方服务',
   value: '/serveManage/cooperation_services'
  },
  ]
  },
  {
  name: 'saveManage',
  icon: '',
  alias: '风险管理',
  value: '/serveManage/saveManage'
  }, {
  name: 'manageDecision',
  icon: '',
  alias: '管理决策',
  value: '/serveManage/manageDecision'
  }, {
  name: 'businessSupport',
  icon: '',
  alias: '业务支持',
  value: '/serveManage/businessSupport'
  }, {
  name: 'technicalSupport',
  icon: '',
  alias: '技术支持',
  value: '/serveManage/technicalSupport'
  }
  ]
 }, {
  name: 'serveRelation',
  icon: 'iconfont icon-shezhi',
  alias: '服务血缘关系',
  value: '/serveManage/serveRelation'
 }]

注意:因为含有childs的目录是没有路由的,所以可以把它的value值设为空。

效果展示:

vue导航栏部分的动态渲染实例

这样我们就可以在其他页面引入该组件就可以了。

以上这篇vue导航栏部分的动态渲染实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript document.compatMode兼容性
Feb 23 Javascript
JS中动态添加事件(绑定事件)的代码
Jan 09 Javascript
获取鼠标在div中的相对位置的实现代码
Dec 30 Javascript
jquery trigger伪造a标签的click事件取代window.open方法
Jun 23 Javascript
js根据鼠标移动速度背景图片自动旋转的方法
Feb 28 Javascript
JS实现自动固定顶部的悬浮菜单栏效果
Sep 16 Javascript
浅析JavaScript访问对象属性和方法及区别
Nov 16 Javascript
详解JavaScript 中的 replace 方法
Jan 01 Javascript
基于node下的http小爬虫的示例代码
Jan 11 Javascript
vue添加class样式实例讲解
Feb 12 Javascript
vue插槽slot的简单理解与用法实例分析
Mar 14 Javascript
JavaScript布尔运算符原理使用解析
May 06 Javascript
微信小程序自定义tabbar custom-tab-bar 6s出不来解决方案(cover-view不兼容)
Nov 01 #Javascript
Vue-cli项目部署到Nginx服务器的方法
Nov 01 #Javascript
浅谈vue-router路由切换 组件重用挖下的坑
Nov 01 #Javascript
浅析js实现网页截图的两种方式
Nov 01 #Javascript
javascript使用链接跨域下载图片
Nov 01 #Javascript
async/await让异步操作同步执行的方法详解
Nov 01 #Javascript
浅谈Three.js截图并下载的大坑
Nov 01 #Javascript
You might like
PHP与已存在的Java应用程序集成
2006/10/09 PHP
ThinkPHP多表联合查询的常用方法
2020/03/24 PHP
PHP数据库表操作的封装类及用法实例详解
2016/07/12 PHP
php基于dom实现读取图书xml格式数据的方法
2017/02/03 PHP
php+Memcached实现简单留言板功能示例
2017/02/15 PHP
phpStorm2020 注册码
2020/09/17 PHP
Javascript 实用小技巧
2010/04/07 Javascript
浅谈javascript的原型继承
2012/07/25 Javascript
javascript解决innerText浏览器兼容问题思路代码
2013/05/17 Javascript
jsp+javascript打造级连菜单的实例代码
2013/06/14 Javascript
酷! 不同风格页面布局幻灯片特效js实现
2021/02/19 Javascript
jQuery给表格添加分页效果
2017/03/02 Javascript
vue2.0开发入门笔记之.vue文件的生成和使用
2017/09/19 Javascript
Vue 2.5 Level E 发布了: 新功能特性一览
2017/10/24 Javascript
nodejs中request库使用HTTPS代理的方法
2019/04/30 NodeJs
vue.js实现左边导航切换右边内容
2019/10/21 Javascript
Ubuntu下安装PyV8
2016/03/13 Python
Python基于opencv的图像压缩算法实例分析
2018/05/03 Python
Python操作mongodb数据库的方法详解
2018/12/08 Python
python+numpy按行求一个二维数组的最大值方法
2019/07/09 Python
python使用pandas处理excel文件转为csv文件的方法示例
2019/07/18 Python
TensorFlow通过文件名/文件夹名获取标签,并加入队列的实现
2020/02/17 Python
Python 实现一行输入多个数字(用空格隔开)
2020/04/29 Python
Python 解析库json及jsonpath pickle的实现
2020/08/17 Python
台湾饭店和机票预订网站:Expedia台湾
2016/08/05 全球购物
莫斯科绝对前卫最秘密的商店:SVMoscow
2017/10/23 全球购物
项目管理计划书
2014/01/09 职场文书
企业安全生产标语
2014/06/06 职场文书
宣传口号大全
2014/06/16 职场文书
餐饮服务食品安全责任书
2014/07/25 职场文书
党的生日演讲稿
2014/09/10 职场文书
优秀大学生事迹材料
2014/12/24 职场文书
辞职信怎么写
2015/02/27 职场文书
人代会简报
2015/07/21 职场文书
《学会生存》读后感3篇
2019/12/09 职场文书
OpenCV图像变换之傅里叶变换的一些应用
2021/07/26 Python