首页 > 其他 > 详细

Vue开发实战

时间:2019-05-07 00:09:42      阅读:157      评论:0      收藏:0      [点我收藏+]

递归组件

关键是组件在模板内能调用自身,关键是name属性

首先我们先定义数据格式

技术分享图片
list: [
  {
    title: 标题1
  },
  {
    title: 标题2,
    children: [
      {
        title: 标题2-子标题1
      },
      {
        title: 标题2-子标题2
      }
    ]
  },
  {
    title: 标题3,
    children: [
      {
        title: 标题3-子标题1,
        children: [
          {
            title: 标题3-子标题1-子标题1
          },
          {
            title: 标题3-子标题1-子标题2
          }
        ]
      }
    ]
  }
]
View Code

首先我们父组件代码

<div v-for=v in list :key=v.title>
      <div>{{v.title}}</div>
      <v-menu v-if=v.children :data=v.children></v-menu>
    </div>

子组件代码

使用name来调用自身实现递归

<template>
  <div>
    <div v-for=(v, idx) in data :key=idx>
      <div>{{v.title}}</div>
      <menu-item v-show=v.children :data=v.children></menu-item>
    </div>
  </div>
</template>

<script>
export default {
  name: menu-item,
  props: {
    data: {
      type: Array,
      default: () => []
    }
  }
}
</script>

 

Vue开发实战

原文:https://www.cnblogs.com/sonwrain/p/10822994.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!