js里面有递归算法,同时,我们也可以利用props来实现vue模板的递归调用,但是前提是组件拥有 name 属性

父组件:slotDemo.vue:

<template><div><!-----递归组件-----><ul><simple3 :tree="item" v-for="item in tree"></simple3></ul></div>
</template>
<style lang="stylus" rel="stylesheet/stylus">lipadding-left 30px
</style>
<script>import simple3 from "./simple/simple3.vue";export default{data(){return {tree: [{label: "一级菜单",test:1,children: [{label: "二级菜单",test:2,children: [{label: "三级菜单",test:3}]}]}]}},components: {simple3}}
</script>

  子组件:simple3.vue

<template><li><a>{{tree.label}}</a><simple3 v-if="tree.children" :tree="item" v-for="item in tree.children" :class="item.test==2?'test2':'test3'"></simple3></li>
</template>
<style rel="stylesheet/stylus" lang="stylus">.test2list-style disc.test3list-style decimal
</style>
<script>export default{name: "simple3",props: ["tree"]}
</script>

  

上面是一个子组件,定义了 name 为 simple03,然后在模板中调用自身,结合 v-for 实现递归

为了防止出现死循环,在调用自身的时候,加入了 v-if 作为判定条件

父组件中调用的时候,需要通过 props 传入一个 tree;

为了对每一级菜单有所区分,我对tree里面的每一个子集合里面加了一个test字段来区分是哪一级的菜单然后对其不同的样式进行处理

最后的效果:

转载于:https://www.cnblogs.com/mmykdbc/p/8037995.html

vue的递归组件以及三级菜单的制作相关推荐

  1. vue的动画封装,vue的递归组件

    在项目中,许多地方会使用到类似的动画,所以我们封装起来会好点,我们先创建一个组件,用来设置它的动画效果, <template><transition name="fade& ...

  2. vue树形权限菜单_Vue.js 递归组件实现树形菜单(实例分享)

    最近看了 Vue.js 的递归组件,实现了一个最基本的树形菜单. 项目结构: main.js 作为入口,很简单: import Vue from 'vue' Vue.config.debug = tr ...

  3. vue树形权限菜单_Vue.js 递归组件实现树形菜单

    最近看了 Vue.js 的递归组件,实现了一个最基本的树形菜单. main.js 作为入口: import Vue from 'vue' import main from './components/ ...

  4. vue 循环 递归组件_Vue一个案例引发的递归组件的使用

    今天我们继续使用 Vue 的撸我们的实战项目,只有在实战中我们才会领悟更多,光纸上谈兵然并卵,继上篇我们的<Vue一个案例引发的动态组件与全局事件绑定总结> 之后,今天来聊一聊我们如何在项 ...

  5. ABP实践(5)-abp前端vue框架之IView实现三级菜单(博友需要特此分享)

    为响应博友想要知道三级菜单怎么实现本篇文章先介绍三级菜单的实现,后续再分享其他部分内容 1 修改菜单组件sidebarMenu.vue 图为原代码和修改后代码比对 修改前后的源码如下 <styl ...

  6. vue 循环 递归组件_全局组件实现递归树,避免循环引用

    概述 目录分类展示会通常要用到树形结构.本例结合vue的父子组件,采用递归渲染,实现一个基于树的curd小demo 知识点 父子组件递归渲染 class 样式对象写法,CSS伪元素 ::before ...

  7. vue html模板递归,vue使用递归组件实现多级列表

    一.背景需求 在页面上渲染一个多级列表的时候,数据往往也具有多个层级 例如:数组的每个元素都是一个对象,对象中的value可能是一个数组 { "ret": true, " ...

  8. vue中递归组件实现多级列表

    一.递归组件的概念 递归组件: 递归组件简单来说在组件内使用组件本身.这个在vue的项目开发中也是比较常见的.对于一些多级的数据嵌套,如果对于每一层数据都进行for循环嵌套,那会非常繁琐,也很不方便. ...

  9. AXURE8.0制作二级菜单和三级菜单

    今日分享:用AXURE8.0制作二级菜单和三级菜单 二级菜单 操作思路:首先做出一个[一级菜单]和三个[二级菜单],完成后再复制多个[一级菜单]和[二级菜单] 第一步:拖一个矩形,作为[一级菜单],命 ...

最新文章

  1. tomcat自动重启脚本
  2. Windows Phone本地数据库(SQLCE):5、[Association]attribute(翻译)(转)
  3. bzoj 2251: [2010Beijing Wc]外星联络
  4. HashTable 解决碰撞(冲突)的方法 —— 分离链接法(separate chaining)
  5. j - cyk追楠神系列一_阿迪达斯双十一携手脱口秀大咖,开启“羽绒不服·不服请就位”专场直播 - 消费...
  6. IO-1(Java IO、File类)
  7. 《每日一题》738. Monotone Increasing Digits 单调递增的数字
  8. 使用shell脚本或命令行添加、删除 crontab 定时任务
  9. MIT黑科技:无需视觉输入,立体声音频+摄像机元数据即可实现移动车辆定位
  10. Thread1:EXC_BAD_ACCESS 错误
  11. 补习系列(18)-springboot H2 迷你数据库
  12. 计算机七年级下册课件ppt课件ppt,七年级音乐下册
  13. php 同义词词库,同义词搜索功能 - 权威指南 - 迅搜(xunsearch) - 开源免费中文全文搜索引擎...
  14. 计算机主机有自带的声音吗,台式电脑主机前面的插孔没声音怎么回事?如何解决?...
  15. xp系统能安装32位的python吗-32位XP系统 Python3.4.4安装scrapy1.6.0
  16. 编辑器——sublime
  17. 260,我要满血复活了。
  18. 【机器学习】损失函数MAE
  19. jira配置邮箱踩坑,测试发信失败、或者测试发信通过,但创建问题后不发送邮件
  20. 小学生学计算机图片大全集,小学生电脑绘画作品欣赏

热门文章

  1. 蜂窝网络是如何为物联网服务的?
  2. 参加JavaEE培训需要什么条件
  3. 论https和http谁对网站优化更友好
  4. win10磁盘检查命令
  5. 利用dbms_metadata.get_ddl查看DDL语句(原创)
  6. JObject 用法 、JProperty 用法、JArray 用法 Linq 转 Json
  7. 04-String——课后作业1:字串加密
  8. .net利用程序集的GUID解决程序只能运行一次的问题
  9. 图片竖轮播html,JS实现纵向轮播图(初级版)
  10. java 多线程不安全_多线程并发为什么不安全