今天看了老长时间递归组件,官方给的教程太简便了,根本看不出到底怎么用。于是自己查网摸索了一下,这儿只把核心思想写出来。
我是p标签
//这儿show必须要初始值为false,不然就是堆栈溢出,死循环。
//这个是循环组件。命名后当<a href="/tag/hanshu/" target="_blank" class="keywords">函数</a>使。
今天看了老长时间递归组件,官方给的教程太简便了,根本看不出到底怎么用。于是自己查网摸索了一下,这儿只把核心思想写出来。
我是p标签
//这儿show必须要初始值为false,不然就是堆栈溢出,死循环。
//这个是循环组件。命名后当<a href="/tag/hanshu/" target="_blank" class="keywords">函数</a>使。
由于每次递归组件,就相当于实例化了一次组件。所有写在组件data中的值都是该组件专属的。
我们在父组件给出一个数据,子组件调用这个数据,然后子组件的子组件调用它父组件的数据,如此循环下去。只要数据结构相同,他们调用的方法相同,就行的通。当最后没有子组件的时候, 它不会报错,这个应该是被vue优化了。
//js
ggg:{
name:'gs',// 这儿必须起个名字,这个名字其实就是构造函数的名字。没有名字无法递归组件。
template:`// 构造函数的return值,模板。
到此基本概念已经齐全了。
点击1 出现1-1:
点击1想出现1-2:修改data的值,从顶层数据出现1 2 3可以推断出来。
全代码: