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 相关文章推荐
在图片上显示左右箭头类似翻页的代码
Mar 04 Javascript
js下拉框二级关联菜单效果代码具体实现
Aug 03 Javascript
javascript滚轮事件基础实例讲解(37)
Feb 14 Javascript
jQuery倒计时代码(超简单)
Feb 27 Javascript
JavaScript手风琴页面制作
May 17 Javascript
JS设计模式之访问者模式定义与用法分析
Feb 05 Javascript
详解JavaScript中的数组合并方法和对象合并方法
May 11 Javascript
vue-cli脚手架的安装教程图解
Sep 02 Javascript
微信小程序实现留言功能
Oct 31 Javascript
JS监听滚动和id自动定位滚动
Dec 18 Javascript
vue使用自定义事件的表单输入组件用法详解【日期组件与货币组件】
Jun 01 Javascript
Vue循环遍历选项赋值到对应控件的实现方法
Jun 22 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输出Excel文件类
2010/02/08 PHP
php使HTML标签自动补全闭合函数代码
2012/10/04 PHP
php使用Cookie实现和用户会话的方法
2015/01/21 PHP
php可应用于面包屑导航的迭代寻找家谱树实现方法
2015/02/02 PHP
php阿拉伯数字转中文人民币大写
2015/12/21 PHP
PHP中PDO连接数据库中各种DNS设置方法小结
2016/05/13 PHP
thinkPHP框架实现的短信接口验证码功能示例
2018/06/20 PHP
基于Jquery制作图片文字排版预览效果附源码下载
2015/11/18 Javascript
学习JavaScript设计模式之单例模式
2016/01/19 Javascript
如何消除inline-block属性带来的标签间间隙
2016/03/31 Javascript
使用JavaScript触发过渡效果的方法
2017/01/19 Javascript
JS对象深度克隆实例分析
2017/03/16 Javascript
Vue通过ref父子组件拿值方法
2018/09/12 Javascript
详解从NodeJS搭建中间层再谈前后端分离
2018/11/13 NodeJs
js实现的在本地预览图片功能示例
2019/11/09 Javascript
webpack 动态批量加载文件的实现方法
2020/03/19 Javascript
vue中实现弹出层动画效果的示例代码
2020/09/25 Javascript
[49:35]2018DOTA2亚洲邀请赛3月30日 小组赛A组 KG VS TNC
2018/03/31 DOTA
python中字典(Dictionary)用法实例详解
2015/05/30 Python
Python中文字符串截取问题
2015/06/15 Python
python操作redis方法总结
2018/06/06 Python
对Python3 解析html的几种操作方式小结
2019/02/16 Python
Python 中的 global 标识对变量作用域的影响
2019/08/12 Python
flask实现验证码并验证功能
2019/12/05 Python
Python Tkinter Entry和Text的添加与使用详解
2020/03/04 Python
keras 权重保存和权重载入方式
2020/05/21 Python
HTML5实现QQ聊天气泡效果
2017/06/26 HTML / CSS
基于 HTML5 Canvas实现 的交互式地铁线路图
2018/03/05 HTML / CSS
墨尔本最受欢迎的复古风格品牌:Princess Highway
2018/12/21 全球购物
苏格兰领先的多渠道鞋店:Begg Shoes
2019/10/22 全球购物
出国留学介绍信
2014/01/13 职场文书
《满井游记》教学反思
2014/02/26 职场文书
企业党员个人自我评价
2014/09/20 职场文书
党员批评与自我批评发言
2014/10/02 职场文书
病人家属写给医院的感谢信
2015/01/23 职场文书
《狼王梦》读后感:可怜天下父母心
2019/11/01 职场文书