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>
相关推荐
不好听6135 小时前
从一行 JSX 到屏幕像素:前端开发者必须懂的浏览器渲染管线
前端
恒拓高科WorkPlus5 小时前
企业级内网即时通讯建设模型:BeeWorks内网IM四层架构
前端
前端小李子6 小时前
前端环境变量裸奔?我用 EnvShield 给它穿了件防弹衣
前端
youtootech6 小时前
HarmonyOS《柚兔学伴》项目实战25-我的页面、Web 嵌入与项目总结
前端·华为·harmonyos
小林ixn6 小时前
从零到一理解 React 父子组件通信:手写一个 Todo 应用带你彻底搞懂单向数据流
前端·javascript·react.js
醇氧7 小时前
CountDownLatch / CyclicBarrier / Semaphore 面试高频问答清单
前端·面试·职场和发展
qetfw9 小时前
MXU:Tauri 2 + React 的 MaaFramework 跨平台 GUI 源码
前端·python·react.js·前端框架·开源项目·效率工具
甲维斯9 小时前
我要开始吹牛逼了!Kimi K3 “宇宙无敌”!
前端·人工智能
a1117769 小时前
微光小屋-前端养成小游戏 开源项目
前端