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 相关文章推荐
showModalDialog 和 showModelessDialog
Jan 22 Javascript
fix-ie5.js扩展在IE5下不能使用的几个方法
Aug 20 Javascript
js简单工厂模式用法实例
Jun 30 Javascript
jQuery事件绑定用法详解
Sep 08 Javascript
微信小程序 使用picker封装省市区三级联动实例代码
Oct 28 Javascript
js随机生成一个验证码
Jun 01 Javascript
vue 2.0封装model组件的方法
Aug 03 Javascript
微信小程序之发送短信倒计时功能
Aug 30 Javascript
vue中使用gojs/jointjs的示例代码
Aug 24 Javascript
详解javascript函数写法大全
Mar 25 Javascript
Vue中使用better-scroll实现轮播图组件
Mar 07 Javascript
利用vue3+ts实现管理后台(增删改查)
Oct 30 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实现图象锐化代码
2007/06/14 PHP
php定时计划任务与fsockopen持续进程实例
2014/05/23 PHP
Laravel中使用阿里云OSS Composer包分享
2015/02/10 PHP
php采用session实现防止页面重复刷新
2015/12/24 PHP
浅谈PHP中的Trait使用方法
2019/03/22 PHP
javascript 多种搜索引擎集成的页面实现代码
2010/01/02 Javascript
jQuery操作input type=radio的实现代码
2012/06/14 Javascript
js兼容的placeholder属性详解
2013/08/18 Javascript
jQuery实现拖动调整表格单元格大小的代码实例
2015/01/13 Javascript
javascript实现简单的贪吃蛇游戏
2015/03/31 Javascript
使用 TypeScript 重新编写的 JavaScript 坦克大战游戏代码
2015/04/07 Javascript
Javascript生成全局唯一标识符(GUID,UUID)的方法
2016/02/27 Javascript
图文详解JavaScript的原型对象及原型链
2016/08/02 Javascript
详解cordova打包成webapp的方法
2017/10/18 Javascript
jQuery与vue实现拖动验证码功能
2018/01/30 jQuery
JS实现的集合去重,交集,并集,差集功能示例
2018/03/13 Javascript
Vue.js实现双向数据绑定方法(表单自动赋值、表单自动取值)
2018/08/27 Javascript
vue 取出v-for循环中的index值实例
2019/11/09 Javascript
基于jQuery实现挂号平台首页源码
2020/01/06 jQuery
JS实现分页导航效果
2020/02/19 Javascript
探究python中open函数的使用
2016/03/01 Python
python简单区块链模拟详解
2019/07/03 Python
python实现淘宝购物系统
2019/10/25 Python
Django框架创建项目的方法入门教程
2019/11/04 Python
python 实用工具状态机transitions
2020/11/21 Python
python 多线程爬取壁纸网站的示例
2021/02/20 Python
HTML5应用之文件上传
2016/12/30 HTML / CSS
美国地毯购买网站:Rugs USA
2019/02/23 全球购物
韩国乐天网上商城:Lotte iMall
2021/02/03 全球购物
监理员的岗位职责
2013/11/13 职场文书
环保倡议书100字
2014/05/15 职场文书
依法行政工作汇报材料
2014/10/28 职场文书
开除通知书范本
2015/04/25 职场文书
趣味运动会通讯稿
2015/07/18 职场文书
python tkinter实现定时关机
2021/04/21 Python
Python 游戏大作炫酷机甲闯关游戏爆肝数千行代码实现案例进阶
2021/10/16 Python