VUE3项目--组件递归调用自身

在组件中递归调用自身时,一定要给组件起个名字。

xml 复制代码
<script lang="ts">
// 组件的递归调用,需要为组件定义一个名字
export default {
  name: 'GGMenu'
}
</script>

下面是组件的完整代码

xml 复制代码
<template>
  <template v-for="menu in menuList" :key="menu.path">
    <template v-if="!menu.children">
      <el-menu-item v-if="!menu.meta.hidden" :index="menu.path">
        <template #title>
          <el-icon>
            <component :is="menu.meta.icon"></component>
          </el-icon>
          <span>{{ menu.meta.title }}</span>
        </template>
      </el-menu-item>
    </template>
    <template v-if="menu.children && menu.children.length == 1">
      <el-menu-item
        v-if="!menu.children[0].hidden"
        :index="menu.children[0].path"
      >
        <template #title>
          <el-icon>
            <component :is="menu.children[0].meta.icon"></component>
          </el-icon>
          <span>{{ menu.children[0].meta.title }}</span>
        </template>
      </el-menu-item>
    </template>
    <template v-if="menu.children && menu.children.length > 1">
      <el-sub-menu v-if="!menu.meta.hidden" :index="menu.path">
        <template #title>
          <el-icon>
            <component :is="menu.meta.icon"></component>
          </el-icon>
          <span>{{ menu.meta.title }}</span>
        </template>
        <!-- Menu组件的自身的递归调用 -->
        <GGMenu :menu-list="menu.children"></GGMenu>
      </el-sub-menu>
    </template>
  </template>
</template>

<script setup lang="ts">
// 获取父组件传递过来的全部路由数组
defineProps(['menuList'])
</script>
<script lang="ts">
// 组件的递归调用,需要为组件定义一个名字
export default {
  name: 'GGMenu'
}
</script>

<style lang="scss" scoped></style>
相关推荐
jlspcsdn5 小时前
20251222项目练习
前端·javascript·html
行走的陀螺仪6 小时前
Sass 详细指南
前端·css·rust·sass
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ6 小时前
React 怎么区分导入的是组件还是函数,或者是对象
前端·react.js·前端框架
LYFlied6 小时前
【每日算法】LeetCode 136. 只出现一次的数字
前端·算法·leetcode·面试·职场和发展
子春一26 小时前
Flutter 2025 国际化与本地化工程体系:从多语言支持到文化适配,打造真正全球化的应用
前端·flutter
QT 小鲜肉6 小时前
【Linux命令大全】001.文件管理之file命令(实操篇)
linux·运维·前端·网络·chrome·笔记
羽沢317 小时前
ECharts 学习
前端·学习·echarts
LYFlied7 小时前
WebAssembly (Wasm) 跨端方案深度解析
前端·职场和发展·wasm·跨端
七月丶7 小时前
实战复盘:我为什么把 TypeScript 写的 CLI 工具用 Rust 重写了一遍?
前端·后端·rust