【Vue.js 3.0】递归组件实现思路

简介

  1. <script setup></script> 语法糖中,你不需要显式的注册组件名,Vue 会自动根据组件文件的文件名来推断组件名。
  2. 当你在模板中使用 <RecursiveComponent> 标签时,Vue 会查找与当前组件文件相对应的组件定义。
  3. 这意味着,如果你有一个名为 RecursiveComponent.vue 的文件,Vue 会自动将该文件名与模板中使用的 <RecursiveComponent> 标签对应起来。`

eg

以下是一个使用 <script setup></script> 语法糖的递归组件的完整示例:

ps:

在 Vue 3 中,RecursiveComponent 并不是 Vue 框架内置的一个特定组件,而是指你创建的一个组件,这个组件在其模板内部会递归地调用自己,从而实现无限嵌套或树形结构的渲染。

RecursiveComponent.vue

 <template>  
     <div v-if="items && items.length > 0">  
    	 <div v-for="(item, index) in items" :key="index">  
     	<div>{{ item.name }}</div>  
 		<!-- 递归调用自身来处理子节点 -->  
 		<RecursiveComponent v-if="item.children && item.children.length > 0" :items="item.children" />  
 	</div>  
 </div>  
 </template>  
<script setup>  
    import { defineProps } from 'vue';  
       const props = defineProps({  
          items: {  
              type: Array,  
              required: true
       	  },  
    });  
 </script> 

总结

  1. 在这个例子中,RecursiveComponent 对应于当前的文件 RecursiveComponent.vue
  2. 当你在其他组件的模板中使用 <RecursiveComponent :items="someData" /> 时,Vue 会查找并渲染 RecursiveComponent.vue 中定义的组件。
  3. 请确保你的项目配置正确,以便 <script setup></script> 语法糖能够正常工作。
  4. 如果你使用的是 Vue CLI 创建的项目,确保 CLI 和相关依赖项已升级到支持 Vue 3 和 <script setup></script> 语法糖的版本。
  5. 如果你使用的是 Vite 或其他现代前端构建工具,它们通常已经内置了对 Vue 3 和 <script setup></script> 的支持。

‘【Vue.js 3.0】基于Element-Plus 动态配置Menu 菜单栏’

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值