单页面网站如何优化引流,软件开发接单网站,软件库破解版软件合集,学校做网站有些什么好处文章目录 一、前言二、实现三、总结四、最后 一、前言
递归组件就是指组件在模板中调用自己。
二、实现
开启递归组件的必要条件#xff0c;就是在组件中设置一个 name 选项。
templatedivmy-component/my-component/div
/te… 文章目录 一、前言二、实现三、总结四、最后 一、前言
递归组件就是指组件在模板中调用自己。
二、实现
开启递归组件的必要条件就是在组件中设置一个 name 选项。
templatedivmy-component/my-component/div
/template
script
export default {name: my-component
}
/script在 Webpack 中导入一个 Vue 组件一般是通过 import myComponent from xxx 这样的语法然后在当前组件页面的 components: { myComponent } 里注册组件这种组件是不强制设置 name 字段的组件的名字都是使用者在 import 进来后自定义的。
但递归组件的使用者是组件自身它得知道这个组件叫什么因为没有用 components 注册所以 name 字段就是必须的了。
除了递归组件用 name有一些特殊的方法比如通过遍历匹配组件的 name 选项来寻找组件实例还有keep-alive组件也会使用组件的name属性。
不过使用上面的组件是有问题的如果直接运行会抛出 max stack size exceeded 的错误因为组件会无限递归下去死循环。 要解决这个问题就要给递归组件一个限制条件一般会在递归组件上用 v-if 在某个地方设置为 false 来终结。比如我们给上面的示例加一个属性 count当大于 5 时就不再递归
templatedivprecursion/pmy-component :countcount 1 v-ifcount 5/my-component/div
/template
script
export default {name: my-component,props: {count: {type: Number,default: 1}}
}
/script所以实现一个递归组件的必要条件是 要给组件设置 name要有一个明确的结束条件 三、总结
递归组件的使用需要特别关注结束条件否则会一直递归下去导致程序报错。
四、最后
本人每篇文章都是一字一句码出来希望对大家有所帮助多提提意见。顺手来个三连击点赞收藏关注✨一起加油☕