zoukankan      html  css  js  c++  java
  • Vue3 组件递归

    父组件调用 sub-menu 子组件

    1. 引入子组件模板 import SingleFileRecursiveSubMenu from "@/components/menus/SingleFileRecursiveSubMenu"; 

    2. 注册子组件 'sub-menu': SingleFileRecursiveSubMenu

    3. 使用子组件 <sub-menu :menu-info="item" :key="item.cddm" />

    <template>
      <div>
        <a-menu
          mode="inline"
          class="h-100 w-100"
          theme="dark"
          :subMenuOpenDelay="1"
          @click="handleClick"
        >
          <template v-for="item in menuItems" :key="item.cddm">
            <template v-if="!item.children">
              <a-menu-item :key="item.cddm">{{ item.cdmc }}</a-menu-item>
            </template>
            <template v-else>
              <sub-menu :menu-info="item" :key="item.cddm" />
            </template>
          </template>
        </a-menu>
      </div>
    </template>
    
    <script>
    
    import { ref, reactive } from "vue";
    import SingleFileRecursiveSubMenu from "@/components/menus/SingleFileRecursiveSubMenu";
    
    const componentsMixin = {
      components: {
        'sub-menu': SingleFileRecursiveSubMenu,
      },
    };

    子组件递归调用自身

    使用组件中的 name 属性

    <template>
      <div>
        <a-sub-menu :key="menuInfo.cddm">
          <template #title>{{ menuInfo.cdmc }}</template>
          <template v-for="item in menuInfo.children" :key="item.cddm">
            <template v-if="!item.children">
              <a-menu-item :key="item.cddm">{{ item.cdmc }}</a-menu-item>
            </template>
            <template v-else>
              <sub-menu :menu-info="item" :key="item.cddm" />
            </template>
          </template>
        </a-sub-menu>
      </div>
    </template>
    <script>
    import { toRefs } from "vue";
    
    export default {
      name: "sub-menu",
      props: ['menuInfo'],
      setup(props) {
        const {menuInfo} = toRefs(props)
        return {
          menuInfo
        };
      },
    };
    </script>
  • 相关阅读:
    Vue无缝滚动
    vue+Axios 实现路由拦截和登录拦截
    添加删除数组元素的方法
    日期时间相关
    Vue源码编译过程
    new关键字执行过程
    预解析
    echarts图表数据为空的时候不显示气泡
    arguments使用
    log4net介绍很全面
  • 原文地址:https://www.cnblogs.com/ghostnet/p/15152627.html
Copyright © 2011-2022 走看看