一、父组件
<el-menu class="el-menu-vertical-demo">
<menu-tree :menuData="menuList" @getdata="getdata"></menu-tree>
</el-menu>
二、子组件
<template>
<div>
<template v-for="menu in this.menuData">
<el-submenu :key="menu.index" :index="menu.index" v-if="menu.children">
<template slot="title">
<span slot="title" >{{menu.name}}{{menu.index}}</span>
</template>
<menu-tree :menuData="menu.children" v-bind="$attrs" v-on="$listeners"></menu-tree>
</el-submenu>
<el-menu-item :key="menu.index" :index="menu.index" @click="postData(menu.index)" v-else>
<span slot="title" >{{menu.name}}{{menu.index}}</span>
</el-menu-item>
</template>
</div>
</template>
<script>
export default {
props: ['menuData'],
name: 'MenuTree',
data() {
return {};
},
methods: {
postData(get_Index) {
this.$emit('getdata', get_Index)
},
}
}
</script>
三、解决(重点)!!!!
子组件调用本身的标签内添加:
v-bind="$attrs" v-on="$listeners"