今天写页面的时候发现一个很奇怪的问题,就是我去写一个页面,大概长这样:

然后主页面去引用它,发现报了个超出最大栈的错误:

当时还纳闷呢,为什么会爆这个错?后来查找资料才知道原来你定义的name,可以在当前组件中使用,也就是说,你组件的名字叫aaa,页面上用了<aaa></aaa>,就相当于引用了自己,然后自己里面又是自己,就相当于无限死循环了。

但是这种特性也并不是一无是处,可以用来做一些递归遍历:

上面是被我们改造的aaa组件,是要实现一种类似列表的那种样式,大标题显示1,2,3,小标题显示1-1,1-2等。

组件接收来自外层的list,遍历list中的item,当item出现child的时候,我们就自己调用自己;如果没有child就是显示value。

外层调用的aaa组件代码如下:

结果如下:

keep-alive中的inclue和exclude

keep-alive中的inclue和exclude也是通过vue中的name是识别组件的。

其他文章

0
我要评论

评论

返回
×

我要评论

回复:

昵称:(昵称不超过20个字)

图片:

提交
还可以输入500个字