动态组件
动态组件是动态切换组件的显示与隐藏,<component> 内置的一个组件专门实现动态组件的渲染。
- 如果直接使用 <component> vue标签是没有用的,会提示错误显示,需要提供 is 属性指明显示,is指定谁就渲染谁。
- 如果父元素定义了display:flex属性,则会在原地来回切换图像,否则切换在不同地方的图片。
- 如果多个组件来回切换显示与隐藏,其实是创建与销毁,其中的数据也会重置,如果要想在来回切换的过程中不删除数据,可以使用 ==<keep-alive>==标签,把动态组件放到这个标签里,也就是在不删除数据的前提下创建组件和删除组件
<keep-alive>
<component :is="com"> </component>
</keep-alive>
//其中is是动态添加来回切换显示的组件,
//com是一个属性,用于赋值
keep-alive的生命周期函数
- 组件被销毁缓存时,会触发组件的deactivated函数。
- 组件被创建激活时,会触发组建的activated函数
include属性
该属性主要是指定名称匹配的组件被缓存,多个组件之间用逗号分割
exclude属性
该属性不能与include属性同时存在,上面属性指定谁可以被缓存,这个属性指定谁不需要缓存。