vue 组件递归(组件自己调用自己)

2 篇文章 0 订阅

vue 组件递归

项目中,用到 el-menu, 侧边栏导航动态加载时,需要用到组件递归,不然js写逻辑,有点繁琐。

干货多,屁话少,上代码

  1. 给组件name值
export default {
  name: "submenu",  // 必须给name值
}
  1. 直接在本组件中调用即可
// 必须加v-if条件,否则调用会进入死循环,程序会崩
<el-submenu v-if="menu.children && menu.children.length">
	<submenu :menuData="menu.children"></submenu>  // 只看这里就行, name值调用自己
</el-submenu>
<el-menu-item v-else>
</el-menu-item>

3、有同学私信我,说看不懂这段代码。简单说一下,上面的1和2 是一个页面的。简易代码如下

<template>
	// 必须加v-if条件,否则调用会进入死循环,程序会崩
	<el-submenu v-if="menu.children && menu.children.length"> // 这是element 下级子菜单的父级标签
		<submenu :menu="menu.children"></submenu>  // 只看这里就行, name值调用自己
	</el-submenu>
	<el-menu-item v-else>  // 这是element 假如无下级子菜单的标签。
		{{ menu.name }}// 里面复制内容看自己了  取值key看自己需求
	</el-menu-item>
</template>
<script>
	export default {
	  name: "submenu",  // 必须给name值
	  props: {
		  menu: {
	      type: Object,
	      required: true,
	    }
	  }
</script>
  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值