首页 > 其他分享 >vue 组件调用组件自身,递归调用组件自身

vue 组件调用组件自身,递归调用组件自身

时间:2024-08-14 21:28:17浏览次数:8  
标签:234 调用 const computed item vue 组件

父组件

<template>
    <div class="page-box">
        <!-- <child>
            <template v-slot:default="scope">
                <div>slot</div>
                <div>{{ scope.data1 }}</div>
            </template>
        </child> -->
        <table>
            <tr v-for="(item, key) in dataM" :key="key">
                <child :item="item" :label="key" />
            </tr>
        </table>
    </div>
</template>

<script setup lang="ts">
import { ref, reactive, computed, onMounted, nextTick } from 'vue';
import child from './components/child.vue';

const dataM = {
    a: {
        b: {
            c: [234, 234, 234, 23, 42, 34, 23, 432423, 4, 2]
        }
    },
    a2: {
        b2: {
            c2: [234, 234, 234, 23, 42, 34, 23, 432423, 4, 2]
        }
    }
};
</script>

<style lang="scss">
table {
    border: 1px solid #ddd;
    border-collapse: collapse;
    td {
        border: 1px solid #ddd;
        padding: 5px;
    }
}
</style>

子组件

<template>
    <template v-if="!Array.isArray(item)">
        <td>
            {{ label }}
        </td>
        <!-- 组件可以调用组件自身 -->
        <child v-for="(childItem, key, index) in item" :item="childItem" :label="key" :key="index" />
    </template>
    <template v-else>
        <td v-for="(childItem, index) in item" :key="index">
            {{ childItem }}
        </td>
    </template>
</template>

<script setup lang="ts">
import { ref, reactive, computed, onMounted, nextTick } from 'vue';
// 定义组件名称
defineComponent({
    name: 'child'
});

interface Props {
    item: any;
    label: string | number;
}

const props = defineProps<Props>();

const item = computed(() => props.item);
const label = computed(() => props.label);

console.log(typeof item.value, 'item_type');

console.log(item, 'item');

const data1 = 'sldfjsldfjslkfjsfd';
</script>

<style lang="scss" scoped></style>

总结

vue 组件可以通过组件名称调用自身

标签:234,调用,const,computed,item,vue,组件
From: https://www.cnblogs.com/jocongmin/p/18359800

相关文章

  • vue事件修饰符
    我们用vue中的事件修饰符来做上一篇中event.preventDefault() 阻止事件的默认行为和event.stopPropagation() 阻止事件冒泡、传播事件。<divid="app"><div@click="outer"id="outer"><div@click="middle"id="middle"&......
  • java调用python代码的两种方式:Runtime.exec()和Jython
    要在Java中调用Python代码,你可以使用几种不同的方法。这里我将介绍两种常见的方法:使用Runtime.exec()和使用第三方库如Jython。1.使用Runtime.exec()这种方法涉及到通过系统命令的方式执行Python脚本。下面是一个简单的示例,展示如何使用Runtime.exec()在Jav......
  • 《NET CLR via C#》---第六章(类型成员,类型的可访问性,友元程序集,分部类型,CLR调用方法指
    类型成员类型可以定义0个或者多个以下种类的成员。成员描述常量常量是指出数据值恒定不变的符号。这种符号使代码更易阅读和维护。常量总与类型关联,不与类型的实例关联。常量总与类型关联,不与类型的实例关联字段字段表示只读或可读/可写的数据值。字段可以是静态......
  • Dllhost.exe 是 Windows 操作系统中的一个进程,通常与 COM+ 服务相关。它的主要作用是
    Dllhost.exe是Windows操作系统中的一个进程,通常与COM+服务相关。它的主要作用是运行COM组件和处理进程间的通信。Dllhost.exe的起源可以追溯到MicrosoftWindows2000和WindowsXP的早期版本。它是Windows操作系统的一部分,主要用于支持COM+(ComponentObjectMode......
  • 基于SpringBoot+VUE的学生心理咨询评估系统(源码+文档+部署)
    主要内容:Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能与大数据、单片机开发、物联网设计与开发设计、简历模板、学习资料、面试题库、技术互助、就业指导等业务范围:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论......
  • 课程设计-基于Springboot+Vue的生鲜交易系统的设计与实现(源码+LW+包运行)
    源码获取:https://download.csdn.net/download/u011832806/89460525基于SpringBoot+Vue的生鲜交易系统开发语言:Java数据库:MySQL技术:SpringBoot+MyBatis+Vue.js工具:IDEA/Ecilpse、Navicat、Maven系统演示视频:链接:https://pan.baidu.com/s/1NzmQFwX8e6una-ykZ6KGww?pwd=wa......
  • 课程设计-基于Springboot+Vue的网上书城的设计与实现(源码+LW+包运行)
    源码获取:https://download.csdn.net/download/u011832806/89461644基于SpringBoot+Vue的网上书城开发语言:Java数据库:MySQL技术:SpringBoot+MyBatis+Vue.js工具:IDEA/Ecilpse、Navicat、Maven系统演示视频:链接:https://pan.baidu.com/s/1EWMhc80qzi_R__dAXMtKVA?pwd=t8pv......
  • Element UI 的表单组件
    使用基础:创建一个简单的表单使用ElementUI创建一个基本的表单。示例代码展示一个包含文本输入、选择框和提交按钮的表单。 <template><el-form:model="form"label-width="120px"><el-form-itemlabel="用户名"><el-inputv-model="form.username......
  • vue3 antdv a-datepicker 修改datepicker 的panel宽度,初始弹出一些正常,但再次弹出,宽度
    1、展示页面的框架结构:2、然后,我们上二张图对比一下:图1-1需要的效果图:图1-2对比一下图1-1与图1-2,我们就会发现图1-1中的农历,换行显示了,第二张是有效的。3、我们修改样式,让其变成我们想要的样式:<stylelang="less"scoped>@width:425px;.lua-date-picker-cust......
  • Linux Web项目部署过程命令 Tomcat组件
    LinuxWeb项目部署过程命令Tomcat,本文涉及的是打成jar包方式的前后端分离项目,打成war包的方式也有解释介绍。1.连接服务器2.利用lsof命令查看web后端部署端口进程,然后kill杀死进程,                            ......