vue 组件递归

2020-04-23  本文已影响0人  忘记_3a6a
<template>
  <!-- <ul>
    <li>
      AAA
      <ul>
        <li>1111</li>
        <li>2222</li>
        <li>3333</li>
        <li>4444</li>
      </ul>
    </li>
    <li>BBB</li>
    <li>CCC</li>
  </ul> -->
  <ul>
      <ultestVue :uldatas="uls"></ultestVue>
  </ul>
</template>
<script>
import ultestVue from './ultest.vue';
export default {
components:{ultestVue},
  data() {
    return {
      uls: [
        {
          title: "AAA",
          uls: [
            {
              title: "1111",
              uls: []
            },
            {
              title: "2222",
              uls: []
            },
            {
              title: "3333",
              uls: []
            }
          ]
        },
        {
          title: "BBBB",
          uls: []
        },
        {
          title: "CCCC",
          uls: []
        }
      ]
    };
  }
};
</script>
<template>
  <div>
    <li v-for="(item,index,key) in uldatas" :index="index" :item="item" :key="key">
      {{item.title}}
      <ul >
 <!-- 递归,组件名与name相同 -->
        <test :uldatas="item.uls"></test>
      </ul>
    </li>
  </div>
</template>
<script>
export default {
  name: "test",
  props: {
    uldatas: {
      type: Array,
      required: true
    }
  }
};
</script>
上一篇下一篇

猜你喜欢

热点阅读