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 相关文章推荐
javascript客户端解决方案 缓存提供程序
Jul 14 Javascript
DLL+ ActiveX控件+WEB页面调用例子
Aug 07 Javascript
jQuery源码分析-02正则表达式 RegExp 常用正则表达式
Nov 14 Javascript
jQuery选择器中含有空格的使用示例及注意事项
Aug 25 Javascript
JS截取字符串常用方法整理及使用示例
Oct 18 Javascript
jQuery异步获取json数据方法汇总
Dec 22 Javascript
js友好的时间返回函数
Aug 24 Javascript
使用jquery判断一个元素是否含有一个指定的类(class)实例
Feb 12 Javascript
webpack实用小功能介绍
Jan 02 Javascript
基于Vue 2.0 监听文本框内容变化及ref的使用说明介绍
Aug 24 Javascript
react项目实践之webpack-dev-serve
Sep 14 Javascript
如何为vuex实现带参数的 getter和state.commit
Jan 04 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 IP转换整形(ip2long)的详解
2013/06/06 PHP
迅速确定php多维数组的深度的方法
2014/01/07 PHP
Laravel 5框架学习之子视图和表单复用
2015/04/09 PHP
解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory
2017/02/25 PHP
laravel自定义分页效果
2017/07/23 PHP
Js+Dhtml:WEB程序员简易开发工具包(预先体验版)
2006/11/07 Javascript
fireworks菜单生成器mm_menu.js在 IE 7.0 显示问题的解决方法
2009/10/20 Javascript
javascript椭圆旋转相册实现代码
2012/01/16 Javascript
js判断横竖屏及禁止浏览器滑动条示例
2014/04/29 Javascript
JavaScript中读取和保存文件实例
2014/05/08 Javascript
JS实现点击复选框将按钮或文本框变为灰色不可用的方法
2015/08/11 Javascript
JavaScript_object基础入门(必看篇)
2016/06/13 Javascript
JavaScript 控制字体大小设置的方法
2016/11/23 Javascript
微信小程序图表插件(wx-charts)实例代码
2017/01/17 Javascript
原生JS实现图片翻书效果
2017/02/16 Javascript
js Date()日期函数浏览器兼容问题解决方法
2017/09/12 Javascript
JS 数组随机洗牌的实例代码
2018/09/12 Javascript
vue项目中实现缓存的最佳方案详解
2019/07/11 Javascript
vue-router路由模式详解(小结)
2019/08/26 Javascript
使用xampp将angular项目运行在web服务器的教程
2019/09/16 Javascript
vue 插槽简介及使用示例
2020/11/19 Vue.js
在Python中操作时间之tzset()方法的使用教程
2015/05/22 Python
python在windows下创建隐藏窗口子进程的方法
2015/06/04 Python
TensorFlow实现MLP多层感知机模型
2018/03/09 Python
浅谈利用numpy对矩阵进行归一化处理的方法
2018/07/11 Python
快速解决pyqt5窗体关闭后子线程不同时退出的问题
2019/06/19 Python
Python实现一个数组除以一个数的例子
2019/07/20 Python
Macbook安装Python最新版本、GUI开发环境、图像处理、视频处理环境详解
2020/02/17 Python
美国尼曼百货官网:Neiman Marcus
2019/09/05 全球购物
Python是如何进行类型转换的
2013/06/09 面试题
教师自我反思材料
2014/02/14 职场文书
拾金不昧通报表扬范文
2015/05/05 职场文书
搞笑婚庆主持词
2015/06/29 职场文书
JS异步堆栈追踪之为什么await胜过Promise
2021/04/28 Javascript
Python+tkinter实现高清图片保存
2022/03/13 Python
聊聊基于pytorch实现Resnet对本地数据集的训练问题
2022/03/25 Python