console
var data=[
{label:'nam1',id:'1'},
{label:'nam2',id:'2',items:[{label:'nam1',id:'1'}]},
{label:'nam3',id:'3',items:[
{label:'nam6',id:'6'},
{label:'nam7',id:'7'},
{label:'nam8',id:'8'}
]},
{label:'nam4',id:'4'},
{label:'nam5',id:'5'}
];
Vue.component('MyComponent',{
template:'#menu',
props:['data']
});
new Vue({
el:'#demo',
data:{
data:data
}
})
<template id="menu">
<ul>
<li v-for="item in data">
<a :href="'#'+item.id">{{item.label}}</a>
<my-component v-if="item.items" :data="item.items"></my-component>
</li>
</ul>
</template>
<div id="demo">
<my-component :data="data"></my-component>
</div>