Vue组件自调
在制作一个类似多级列表的组件时, 组件如何自调以实现多级嵌套呢
<template>
<ul style="padding-left: 10px;">
<li v-for="(item,i) in list" :key="i">
{{item.name}}
<!--自己调用自己时直接使用自己的name即可-->
<my-component :list="item.children"/>
</li>
</ul>
</template>
<script>
export default {
// 定义组件时声明 name 属性
name: 'my-component',
props: {
list: {
type: Array,
default: () => []
}
}
}
</script>
总结
定义组件时, 注册name属性,自调时直接使用name作为组件名称即可
注意 name 属性不可使用保留字,如 div, span等, 推荐使用 2个单词以驼峰命名或者 - 隔开,