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 相关文章推荐
js 表单提交后按钮变灰的实例代码
Aug 16 Javascript
jquery实现邮箱自动补全功能示例分享
Feb 17 Javascript
动态创建script在IE中缓存js文件时导致编码的解决方法
May 04 Javascript
JS中产生标识符方式的演变
Jun 12 Javascript
JavaScript中this详解
Sep 01 Javascript
javascript跑马灯抽奖实例讲解
Apr 17 Javascript
实现高性能JavaScript之执行与加载
Jan 30 Javascript
详解vue嵌套路由-query传递参数
May 23 Javascript
Angular2管道Pipe及自定义管道格式数据用法实例分析
Nov 29 Javascript
详解如何给React-Router添加路由页面切换时的过渡动画
Apr 25 Javascript
jQuery实现推拉门效果
Oct 19 jQuery
vue 实现上传组件
May 31 Vue.js
微信小程序自定义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将文本文件转换csv输出的方法
2014/12/31 PHP
php安装swoole扩展的方法
2015/03/19 PHP
CI框架(CodeIgniter)公共模型类定义与用法示例
2017/08/10 PHP
PHP写API输出的时用echo的原因详解
2019/04/28 PHP
复制本贴标题和地址的js代码
2008/07/01 Javascript
js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)
2013/12/11 Javascript
JavaScript中的toLocaleDateString()方法使用简介
2015/06/12 Javascript
JS组件Bootstrap实现下拉菜单效果代码
2016/04/26 Javascript
fullpage.js全屏滚动插件使用实例
2016/09/06 Javascript
jQuery实现字符串全部替换的方法【推荐】
2017/03/09 Javascript
JavaScript的六种继承方式(推荐)
2017/06/26 Javascript
详解Vue的钩子函数(路由导航守卫、keep-alive、生命周期钩子)
2018/07/24 Javascript
三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)
2019/06/21 Javascript
vue选项卡切换登录方式小案例
2019/09/27 Javascript
JS实现简单省市二级联动
2019/11/27 Javascript
解决vue+ element ui 表单验证有值但验证失败问题
2020/01/16 Javascript
详解vue父子组件状态同步的最佳方式
2020/09/10 Javascript
用Python输出一个杨辉三角的例子
2014/06/13 Python
详解python3中socket套接字的编码问题解决
2017/07/01 Python
Python 比较两个数组的元素的异同方法
2017/08/17 Python
Python实现的简单模板引擎功能示例
2017/09/02 Python
python tensorflow学习之识别单张图片的实现的示例
2018/02/09 Python
Python中的引用知识点总结
2019/05/20 Python
python交易记录链的实现过程详解
2019/07/03 Python
Django中使用CORS实现跨域请求过程解析
2019/08/05 Python
keras训练浅层卷积网络并保存和加载模型实例
2020/07/02 Python
加拿大健康、婴儿和美容产品在线购物:Well.ca
2016/11/30 全球购物
土耳其时尚潮流在线购物网站:Trendyol
2017/10/10 全球购物
美国在线工具商店:Acme Tools
2018/06/26 全球购物
关于.NET, HTML的五个问题
2012/08/29 面试题
什么是封装
2013/03/26 面试题
公司市场专员岗位职责
2014/06/29 职场文书
会计岗位职责
2015/02/03 职场文书
2015年全国助残日活动方案
2015/05/04 职场文书
2016年学校“3.12”植树节活动总结
2016/03/16 职场文书
Python selenium模拟网页点击爬虫交管12123违章数据
2021/05/26 Python