【Vue3】组件递归
- 实现效果
 
通过传入一个数字,实现数字次循环
- 父组件
 
<script setup>
import { ref } from "vue";
import RecursionMe from "./components/RecursionMe/index.vue";
const level = ref(0);
const add = () => level.value++;
</script>
<template>
  <div>
    <RecursionMe :level="level" @add="add" />
  </div>
</template>
 
- 子组件
 
<script>
export default {
  name: "RecursionMe", //给组件命名
};
</script>
<script setup>
import { defineEmits } from "vue";
const props = defineProps({
  level: Number,
});
const emit = defineEmits(["add"]);
const add = () => emit("add");
</script>
<template>
  <div>
    <div v-if="level === 0" class="over">
      <button @click="add">添加一层</button>
    </div>
    <div v-else class="box">
      <recursion-me :level="level - 1" @add="add" />
    </div>
  </div>
</template>
<style scoped>
.over {
  width: 200px;
  height: 160px;
  background-color: aquamarine;
}
.box {
  display: inline-block;
  padding-right: 10px;
  padding-bottom: 10px;
  border-right: 1px solid red;
  border-bottom: 1px solid red;
}
</style>
                



















