时间:2022-12-06 01:47
递归所指的是程序自己调用自身,而vue中的递归组件就是组件自身调用自身。
实现方法如下:
准备一个父组件存放递归数据,再创建一个子组件作为递归调用的组件,从而实现递归。
1.父组件。
<template><divid="app">
<category:datalist="datalist"></category>
</div>
</template>
<script>
importcategoryfrom'./category.vue'
exportdefault{
name:'app',
data(){
return{
datalist:[
{
title:'手机',
level:1,
children:[
{
title:'三星',
level:2,
children:[
{
title:'三星1',
level:3
}
]
},
{
title:'华为',
level:2
},
{
title:'苹果',
level:2
}
]
}
]
}
},
components:{
category
},
created(){
}
}
</script>
<style>
</style>
2.子组件。
<template><divid="phone">
<divv-for="(item,index)indatalist":key="index">
{{item.title}}
<divv-if="item.children"class="item-chilren">
<phone:datalist="item.children"></phone>
</div>
</div>
</div>
</template>
<script>
exportdefault{
name:'phone',
data(){
return{
}
},
props:{
datalist:Array
},
created(){
}
}
</script>
<style>
.item-chilren{
}
.item-chilrendiv{
padding:2px;
padding-left:20px;
margin-bottom:2px;
}
</style>