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>
相关推荐
Huanzhi_Lin5 分钟前
Nginx本地资源服务器-常用脚本
服务器·前端·nginx·batch·静态资源服务器
weixin199701080165 分钟前
《好看视频商品详情页前端性能优化实战》
前端·性能优化·音视频
有意义6 分钟前
深入理解浏览器存储方案:从Cookie到JWT登录认证
前端·面试·浏览器
jiayong237 分钟前
第 6 课:第二轮真实重构,拆出任务表格组件
前端·重构
jiayong2314 分钟前
第 4 课:怎么把一个大页面拆成多个组件
运维·服务器·前端
skywalk816316 分钟前
使用DuMate帮助创建 Python 3.9 环境并部署 Kotti CMS
前端·chrome
英俊潇洒美少年20 分钟前
Vue Hook 与 React Hook 全面解析:区别、用法、实战及避坑指南
前端·vue.js·react.js
weixin_7042660527 分钟前
项目总结一
java·前端·spring boot·后端·spring
Mintopia28 分钟前
接口设计为什么越改越乱:新手最容易踩的三个坑
前端
code小生29 分钟前
微软 Microsoft Edge 浏览器插件开发者注册指南
前端·microsoft·edge·edge浏览器·浏览器插件开发者