如果想要对组件进行类型划分,从实现的功能以及所具备的特点来划分,大致可以归纳为:动态组件、缓存组件、异步组件、函数式组件 + JSX、递归组件等
动态组件:通过动态确定要显示的组件, is指定要显示组件的组件名
<component :is="currentComp" />
问题: 当从A组件切换到B组件时, A组件就会销毁
缓存组件:即可以利用component,也可以使用router-view
<keep-alive :exclude="['Home']">
<component :is="currentComp"/>
</keep-alive>
<keep-alive include="Life1">
<router-view></router-view>
</keep-alive>
路由组件对象什么时候创建?
路由组件对象什么时候死亡?
异步组件
函数式组件 + JSX,与Vue的Component概念有明显不同,更雷同于React中的函数式组件
export default {
functional: true, // 当前是函数组件
render (createElement, context) {
return 要显示界面的虚拟DOM
}
}
递归组件,组件内部有自己的子组件标签,简单的说就是组件自已调用自身
到这里也就结束了,希望对您有所帮助。