<
script
>
import
UserName
from
"./UserName"
;
import
UserInfo
from
"./UserInfo"
;
export
default
{
data
(
) {
return
{
comName
:
"UserName"
,
components
: {
UserName
,
UserInfo
,
</
script
>
vue内置
component
组件, 配合is属性, 设置要显示的组件标签名字。
keep-alive组件
组件切换会导致组件被频繁销毁和重新创建, 大多数情况下是有自己的意义的,但也可能会导致不必要的性能损耗。
使用Vue内置的
keep-alive
组件, 可以让包裹的组件保存在内存中不被销毁。
使用keep-alive组件
<keep-alive>
<!-- vue内置的组件component, 可以动态显示组件 -->
<component :is="comName"></component>
</keep-alive>
使用keep-alive
组件会补充两个生命周期:
activated -激活
deactivated -失去激活状态
keep-alive
可以提高组件的性能, 内部包裹的标签不会被销毁和重新创建, 触发激活和非激活的生命周期方法。
keep-alive组件-指定缓存
keep-alive
默认会将所有包裹的组件进行缓存,使用include
属性可以指定缓存组件。
写法1: include="组件名1,组件名2..."
写法2: :include="['组件名1', '组件名2']"
<keep-alive include="name1,name2">
<!-- vue内置的组件component, 可以动态显示组件 -->
<component :is="comName"></component>
</keep-alive>
匹配首先检查组件自身的 name 选项,如果 name 选项不可用,则匹配它的局部注册名称 (父组件 components 选项的键值)。