Vue开发实战

Posted sonwrain

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue开发实战相关的知识,希望对你有一定的参考价值。

递归组件

关键是组件在模板内能调用自身,关键是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开发实战的主要内容,如果未能解决你的问题,请参考以下文章

Vue 开发实战学习笔记48篇(完结)

Vue 开发实战实战篇 # 45:如何构建可交互的组件文档让代码高亮的显示在页面

Vue实战Vue开发中的的前端代码风格规范

Vue 开发实战实战篇 # 37:创建一个普通表单

vue 组件开发实战

VSCode自定义代码片段1——vue主模板