概念:
组件是可以在自己的模板中调用自身的,不过他们只能通过name选项来做这件事。
使用vue框架,我们会发现export default 导出的对象中有一个name属性,这
个name属性是一个比较重要的属性,而且属性好处不止这一处。
用法:
1.首先我们要知道,既然是递归组件,那么一定要有一个结束的条件,否则就会使用组件循环引用,最终出现 “max stack size exceeded”的错误,也就是栈溢出,那么我们可以用v-if=false作为递归条件的结束,当遇到v-if为false时,组件将不再进行渲染。
既然要用递归组件那么对我们的数据格式肯定是需要满足递归的条件的,就像下边这样,这是一个树状的递归数据。
接下来,我们就用这个树状数据,做一个简单版的树状结构,也是递归组件最常用的方法之一。
实践案例:
首先创建一个tree-father组件,这个组件作为使用递归组件的父组件
可以看到就会我们说的递归组件,当使用它的时候,我们只需要把上边定义好的数据通过props的方式传递过去即可。