vue 递归组件多级_Vue 和递归组件

本文介绍了如何在Vue中使用递归组件来创建多级目录结构。通过定义递归终止条件和组件间的数据交互,实现了层级无限展开的效果。示例中包括root和folder两个关键组件,详细阐述了它们的实现和使用方法。
摘要由CSDN通过智能技术生成
70a9e9d30960f42cb6d8de9a69adb5f5.png 来源  | https://juejin.im/post/5dee042151882512591aa402

简介

有人说递归很难理解,也有人不这么认为。 递归函数简单的定义是: 一个自调用函数,这意味着它将在执行的某个时刻调用自己。 从理论上讲,递归是一种需要两个属性的行为:
  • 结束点:停止递归的情况

  • 一组规则:负责将所有的操作减少到结束点

咱们无法决定哪一个更重要。 如果没有 结束点,递归将成为一个无限循环,但是如果一组规则就不能实现期望的行为,所以两者都存在才能使它正常工作。

递归和 Vue 组件

在 Vue 中,递归非常有用。 当然,不仅仅在 Vue 中,咱们可以遵循上面的规则在任何框架中实现递归行为。 因此,根据给定的定义,咱们可以说递归组件是调用自身的组件。 递归组件什么时候有用? 只要咱们需要使用相同的模板结构,但需要使用分层输入数据,就可以使用递归。 如果树状视图(用于显示文件夹结构),网站上的注释,嵌套菜单等组件等等。 接着,咱们建立一个场景来演示递归组件的用途。

场景

想象一下,咱像往常一样来上班,给自己冲杯咖啡,开始阅读咱最喜欢的博客。 突然,咱们的老板来了,说需要实现一个新的页面,在这个页面上,显示所有的文件夹、子文件夹和文件,且文件结构数量不确定。 可以显示 10 个、 5 个或 100 个文件夹。 接着,咱们喝着咖啡,开始挠头思考如何解决这个问题。 最终,咱们会想到使用递归遍历来实现。 解决这个问题的组件的最少数量是 1 ,但在咱们的示例中,咱们会创建两个组件:
  • root 组件

  • folder 组件

当然,咱们首先搞点数据来用:

数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值