vue2.0使用v-for循环制作多级嵌套菜单栏


Posted in Javascript onJune 25, 2018

使用v-for循环生成一个多级嵌套菜单栏,只要你学会了这个方法,几乎所有的菜单栏都可以实现了。

方法

<div class="level-one" v-if="obj.level == 1" v-for="obj in bar1"><a>{{obj.title}}</a> 
 <div class="level-two" v-if="obj1.parentId == obj.id " v-for="obj1 in bar1"><a>{{obj1.title}}</a> 
  <div class="level-three" v-if="obj2.parentId == obj1.id" v-for="obj2 in bar1"><a>{{obj2.title}}</a></div> 
 </div> 
</div> 

level-one{ 
 text-indent: 1em; 
} 
level-two{ 
 text-indent: 2em; 
} 
level-three{ 
 text-indent: 3em; 
} 

bar1:[ 
 /*所有第一级菜单*/ 
 { 
  title:'一级菜单(1)', 
  id:1,       //选项的唯一ID 
  parentId:0,    //父级的ID 
  level:1      //所处的层级 
 }, 
 { 
  title:'一级菜单(2)', 
  id:2, 
  parentId:0, 
  level:1 
 }, 
 { 
  title:'一级菜单(3)', 
  id:3, 
  parentId:0, 
  level:1, 
 }, 
 /*所有二级菜单*/ 
 { 
  title:'二级菜单(1.1)', 
  id:4, 
  parentId:1, 
  level:2 
 }, 
 { 
  title:'二级菜单(1.2)', 
  id:5, 
  parentId:1, 
  level:2 
 }, 
 { 
  title:'二级菜单(2.1)', 
  id:6, 
  parentId:2, 
  level:2 
 }, 
 { 
  title:'二级菜单(2.2)', 
  id:7, 
  parentId:2, 
  level:2 
 }, 
 /*所有三级菜单*/ 
 { 
  title:'三级菜单(1.1.1)', 
  id:8, 
  parentId:4, 
  level:3 
 }, 
 { 
  title:'三级菜单(1.1.2)', 
  id:9, 
  parentId:4, 
  level:3 
 } 
]

解释:

1)菜单栏嵌套了多少层,就需要进行多少次v-for循环;

2)通过v-if来选择level=1的选项作为最外层;

3)通过判断选项的parentId等于上一层的id,来确定它是哪个选项的子级菜单;

实现效果

vue2.0使用v-for循环制作多级嵌套菜单栏

总结

以上所述是小编给大家介绍的vue2.0使用v-for循环制作多级嵌套菜单栏,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
在线编辑器的实现原理(兼容IE和FireFox)
Mar 09 Javascript
javascript下判断一个元素是否存在的代码
Mar 05 Javascript
js如何设置在iframe框架中指定div不显示
Dec 04 Javascript
jQuery中attr()和prop()在修改checked属性时的区别
Jul 18 Javascript
javascript实现日期按月份加减
May 15 Javascript
简介JavaScript中的unshift()方法的使用
Jun 09 Javascript
jQuery插件boxScroll实现图片轮播特效
Jul 14 Javascript
jQuery实现摸拟alert提示框
May 22 Javascript
JavaScript实现垂直滚动条效果
Jan 18 Javascript
webpack配置之后端渲染详解
Oct 26 Javascript
使用vue如何构建一个自动建站项目
Feb 05 Javascript
详解给Vue2路由导航钩子和axios拦截器做个封装
Apr 10 Javascript
浅谈super-vuex使用体验
Jun 25 #Javascript
使用vue-router beforEach实现判断用户登录跳转路由筛选功能
Jun 25 #Javascript
使用vue的transition完成滑动过渡的示例代码
Jun 25 #Javascript
JS实现仿微信支付弹窗功能
Jun 25 #Javascript
vue.js 实现输入框动态添加功能
Jun 25 #Javascript
vue-router重定向不刷新问题的解决
Jun 25 #Javascript
JavaScript实现封闭区域布尔运算的示例代码
Jun 25 #Javascript
You might like
PHP分页显示制作详细讲解
2006/10/09 PHP
使用sockets:从新闻组中获取文章(二)
2006/10/09 PHP
PHP防止表单重复提交的几种常用方法汇总
2014/08/19 PHP
php中使用session防止用户非法登录后台的方法
2015/01/27 PHP
php通过文件头判断格式的方法
2016/05/28 PHP
Laravel5.* 打印出执行的sql语句的方法
2017/07/24 PHP
jquery select(列表)的操作(取值/赋值)
2009/08/06 Javascript
jquery动画4.升级版遮罩效果的图片走廊--带自动运行效果
2012/08/24 Javascript
原始的js代码和jquery对比体会
2013/09/10 Javascript
让新消息在网页标题闪烁提示的jQuery代码
2013/11/04 Javascript
JavaScript判断访问的来源是手机还是电脑,用的哪种浏览器
2013/12/12 Javascript
JavaScript异步编程Promise模式的6个特性
2014/04/03 Javascript
js实现input密码框提示信息的方法(附html5实现方法)
2016/01/14 Javascript
浅谈JavaScript中的this指针和引用知识
2016/08/05 Javascript
JavaScript面试题(指针、帽子和女朋友)
2016/11/23 Javascript
jQuery的中 is(':visible') 解析及用法(必看)
2017/02/12 Javascript
jQuery实现点击DIV同时点击CheckBox,并为DIV上背景色的实例
2017/12/18 jQuery
5 种JavaScript编码规范
2018/01/30 Javascript
AngularJS实现动态切换样式的方法分析
2018/06/26 Javascript
js实现翻牌小游戏
2020/07/31 Javascript
详解vue 组件注册
2020/11/20 Vue.js
[53:15]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS OG
2018/03/30 DOTA
[36:05]DOTA2亚洲邀请赛 3.31 小组赛 A组 Liquid vs Optic
2018/04/01 DOTA
Python中下划线的使用方法
2015/03/27 Python
举例讲解Python面向对象编程中类的继承
2016/06/17 Python
numpy数组拼接简单示例
2017/12/15 Python
python3使用matplotlib绘制散点图
2019/03/19 Python
Python处理session的方法整理
2019/08/29 Python
Python爬取365好书中小说代码实例
2020/02/28 Python
500行python代码实现飞机大战
2020/04/24 Python
Python面向对象多态实现原理及代码实例
2020/09/16 Python
CSS3图片旋转特效(360/60/-360度)
2013/10/10 HTML / CSS
英国男女奢华内衣和泳装购物网站:Figleaves
2017/01/28 全球购物
《中国的气候》教学反思
2014/02/23 职场文书
九年级化学教学反思
2016/02/22 职场文书
PyTorch梯度裁剪避免训练loss nan的操作
2021/05/24 Python