一、背景需求

在页面上渲染一个多级列表的时候,数据往往也具有多个层级

例如:数组的每个元素都是一个对象,对象中的value可能是一个数组

{

"ret": true,

"data": {

"sightName": "大连圣亚海洋世界(AAAA景区)",

"bannerImg": "",

"categoryList": [{

"title": "成人票",

"children": [{

"title": "成人三馆联票",

"children": [{

"title": "成人三馆联票 - 某一连锁店销售"

}]

},{

"title": "成人五馆联票"

}]

}, {

"title": "学生票"

}, {

"title": "儿童票"

}, {

"title": "特惠票"

}]

}

}

在这种情况下,使用多重循环的HTML代码效率并不高,而且会增加后期维护的成本

vue提供了一种更好的实现方式:即递归组件

二、递归组件的概念和使用

递归组件,顾名思义,就是在组件内部调用自己

通过使用 组件的name选项 对应的标签,实现多重循环的效果

同时,在调用组件自身的时候,要通过v-if实现条件渲染

防止因无限调用组件而导致栈溢出

以上面给的数据为例,我们希望将 categoryList 渲染为多级列表

当父组件将 categoryList 传递给子组件的 list 变量后:

{{item.title}}

export default {

name: 'DetailList',

props: {

list: Array

}

}

若当前被循环的item有children,就递归调用自身,进入下一层级

实际的效果如下:

image.png

vue html模板递归,vue使用递归组件实现多级列表相关推荐

  1. Vue递归组件实现多级列表分类

    Vue递归组件实现多级列表分类 信息的分类展示 数据格式 const treeObj = {name: "电子产品",children: [{name: "电视" ...

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

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

  3. Vue使用vue-cli创建vue的模板项目---vue工作笔记0018

    然后我们使用vue-cli脚手架,来创建一个demo项目去. 可以看到上面是过程中,用到的命令. 首先我们应该先去安装nodejs的环境对吧,先去安装nodejs以后,这个npm,命令我们就可以使用了 ...

  4. Vue动态查询条件-Vue动态查询规则-Vue多条件分组组合查询-递归组件(一):前端

    先看最终的效果: 最近项目上有一个需求,VUE前端要实现动态查询条件组件,后端就能够动态组装SQL. 要模仿人家Azure Devops的查询功能,我丢,Azure Devops是人家微软开发的个东西 ...

  5. VUE递归树形实现多级列表

    VUE递归树形实现多级列表 什么是递归? 简单来说就是在组件中内使用组件本身. 为什么要用递归? 如果出现很多下拉菜单,同级,分级数据,层级混杂,可以使用v-for的嵌套循环不就完事了.对,没毛病这样 ...

  6. vue 雷达扫描_GitHub - suneildve/vueDataV: 基于Vue + Echarts 构建的数据可视化平台,酷炫大屏展示模板和组件库,持续更新各行各业实用模板和炫酷小组件。...

    前言 一个基于Vue前端框架和第三方图表库echarts构建的可视化大数据平台,通过vue项目构建.指令的灵活运用.组件封装.组件之间通信,使内部图表组件库可实现自由替换和组合. 项目中部分前端库采用 ...

  7. 《Vue.js实战》第七章.组件

    7.1 组件作用: 提高代码复用性,使项目易于维护 7.1 组件的使用 7.1.1 组件注册-全局注册 全局注册后,任何vue的实例都可以使用该组件. Vue.component('my-compon ...

  8. vue 改变domclass_基于 vue 开发甘特图组件的心路历程(兼设计分享)

    语雀原文 有更好的排版体验~ 这篇文章主要讲述笔者开发 v-gantt 甘特图组件的经过. 起源 公司项目有个甘特图的需求. 笔者考察了世面上 常见的甘特图组件 后,本着 我上我也行 的心态,以及考虑 ...

  9. VUE类似微信朋友圈查看图片组件

    1.效果展示 瞎封装组件系列: VUE类似淘宝选择商品多规格组件 VUE简单提示框 VUE树形图(递归实现) VUE多店铺购物车 2.使用方法 <template><div clas ...

最新文章

  1. 【Verilog HDL 训练】第 05 天(序列检测)
  2. 通过一段代码说明C#中rel与out的使用区别
  3. wordpress中安装插件需要ftp服务怎么破
  4. dump文件分析工具_使用这个 Python 工具分析你的 Web 服务器日志文件 | Linux 中国...
  5. JAVA Web Servlet中的异步处理 (2) -- Servlet3.1中的Non-blocking IO支持
  6. leetcode 55. 跳跃游戏 思考分析
  7. 他患“不死癌症” 坐轮椅考上清华并获特等奖学金
  8. html的语义化面试题,前端面试题-HTML结构语义化
  9. 安卓学习笔记24:常用控件 - 循环器视图
  10. c语言程序装萝卜,萝卜花园练习win7系统安装SkyDrive的图文步骤
  11. 东大OJ-1391-Big big Power
  12. 如何解决python 图表中文显示乱码问题(matlplotlib 包)
  13. 小升初数学计算机考试题,重点中学小升初数学分班考试模拟试卷试题及解析总结计划-20210513100212.docx-原创力文档...
  14. 什么是IP防护等级,又该如何区分
  15. 手把手教你配置国内镜像源
  16. CSS度量单位rem、em、vw、vh详解
  17. 运用C语言指针知识实现对一个二维数组转置
  18. 软件测试的自我修养之学习自动化测试
  19. JSESSIONID、SESSION、cookie
  20. Java方法的案例:求和、判断奇偶数、求最值

热门文章

  1. 关于Google Pay JAVA后端处理
  2. 猿辅导编程python_猿辅导旗下品牌猿编程,宣布成立少儿编程研究院
  3. vue 修改地址栏参数
  4. fedora13中安装五笔
  5. iimap服务器没有响应,解决imap被vimIM和谐掉的问题
  6. android手机用户,ZDC:2011年Android手机用户使用行为研究报告
  7. 【渝粤教育】广东开放大学 证券投资学 形成性考核 (1)
  8. uniapp自定义步骤条
  9. RouterOS(ros)自动更新国内外IP以及端口扫描IP
  10. WordPress 主题和插件