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 相关文章推荐
二级域名转向类
Nov 09 Javascript
编写跨浏览器的javascript代码必备[js多浏览器兼容写法]
Oct 29 Javascript
utf-8编码引起js输出中文乱码的解决办法
Jun 23 Javascript
jQuery队列控制方法详解queue()/dequeue()/clearQueue()
Dec 02 Javascript
js和html5实现手机端刮刮卡抽奖效果完美兼容android/IOS
Nov 18 Javascript
悬浮数字的实现案例
Feb 19 Javascript
jquery中常用的函数和属性详细解析
Mar 07 Javascript
JavaScript跨域方法汇总
Oct 16 Javascript
jQuery插件HighCharts实现的2D堆条状图效果示例【附demo源码下载】
Mar 14 Javascript
深入理解angular2启动项目步骤
Jul 15 Javascript
nuxt+axios解决前后端分离SSR的示例代码
Oct 24 Javascript
微信小程序实现多行文字滚动
Nov 18 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
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
2006/10/09 PHP
php与XML、XSLT、Mysql的结合运用实现代码
2009/11/19 PHP
MySQL的FIND_IN_SET函数使用方法分享
2012/03/27 PHP
PHP生成唯一订单号的方法汇总
2015/04/16 PHP
ThinkPHP开发框架函数详解:C方法
2015/08/14 PHP
php实现在线考试系统【附源码】
2018/09/18 PHP
javascript事件函数中获得事件源的两种不错方法
2014/03/17 Javascript
javascript获取函数名称、函数参数、对象属性名称的代码实例
2014/04/12 Javascript
js函数参数设置默认值的一种变通实现方法
2014/05/26 Javascript
详解VueJs前后端分离跨域问题
2017/05/24 Javascript
JS限制输入框输入的实现代码
2018/07/02 Javascript
在移动端使用vue-router和keep-alive的方法示例
2018/12/02 Javascript
vuex页面刷新后数据丢失的方法
2019/01/17 Javascript
vue实现新闻展示页的步骤详解
2019/04/11 Javascript
如何解决jQuery 和其他JS库的冲突
2020/06/22 jQuery
vue Treeselect下拉树只能选择第N级元素实现代码
2020/08/31 Javascript
微信小程序实现多行文字滚动
2020/11/18 Javascript
[01:58]2018DOTA2亚洲邀请赛趣味视频——交流
2018/04/03 DOTA
Python中函数参数设置及使用的学习笔记
2016/05/03 Python
Python编程对列表中字典元素进行排序的方法详解
2017/05/26 Python
详解django.contirb.auth-认证
2018/07/16 Python
强悍的Python读取大文件的解决方案
2019/02/16 Python
Python实现监控Nginx配置文件的不同并发送邮件报警功能示例
2019/02/26 Python
wxpython布局的实现方法
2019/11/01 Python
动态设置django的model field的默认值操作步骤
2020/03/30 Python
Python 的 __str__ 和 __repr__ 方法对比
2020/09/02 Python
python如何修改文件时间属性
2021/02/05 Python
智利最大的网上商店:Linio智利
2016/11/24 全球购物
编写类String的构造函数、析构函数和赋值函数
2012/05/29 面试题
应届大专毕业生自我鉴定
2014/04/08 职场文书
小学安全工作汇报材料
2014/08/19 职场文书
2014年反腐倡廉工作总结
2014/12/05 职场文书
专项资金申请报告
2015/05/15 职场文书
火烧圆明园的观后感
2015/06/03 职场文书
pytorch锁死在dataloader(训练时卡死)
2021/05/28 Python
vue中data里面的数据相互使用方式
2022/06/05 Vue.js