vue+element递归实现导航列表

// 在一些大型的项目的时候肯定遇到嵌套的导游列表,所以我会提供一种就是我自己觉得用vue+element最简单的一种写法,不好的话欢迎大家提意见。

// 下面是一种组件的写法

1.创建一个组件名字语义化可以叫Menus

<template>
  <div class="menus">
    <p v-for="v in navMenus" :key="v.path"> // 循环在父级接收过来的值
      <el-menu> // element中的列表组件
        <el-menu-item v-if="!v.children" :index="v.path" :route="v.path"> // 循环来判断如果没有子路由就可以直接渲染了
          <span slot="title">{{ v.title }}</span> // 渲染标题导航
        </el-menu-item> 
        <el-submenu v-if="v.children" :key="v.path" :index="v.path"> // 有字路由的
          <span slot="title">{{ v.title }}</span> // 父级的路由
          <nav-menu :navMenus="v.children"></nav-menu> // 递归循环,因为这个组件的名字叫 “NavMenu” 在浏览其中会默认识别为大写的字母会加 - 所以这个递归就是<nav-menu>
         </el-submenu>
      </el-menu>
    </p>
  </div>
</template>

<script>
export default {
  name: "NavMenu", // 当前组件的名字
  props: ["navMenus"], // 接收父级传过来的值
};
</script>

这就自我自己的一种写法,如果发现不对的地方欢迎留言 

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值