Vue <KeepAlive> 组件
示例
使用内置的 <KeepAlive>
组件来保持组件中之前输入的表单数据
<KeepAlive>
<component :is="activeComp"></component>
</KeepAlive>
运行示例 »
更多示例请参见下方。
定义和用法
内置的 <KeepAlive>
组件用于包裹动态组件,当组件不活跃时对其进行缓存,从而保持其状态。
Props
该 <KeepAlive>
组件可以与不同的 prop 一起使用,以便我们指定哪些组件应该被缓存,从而保持其状态。
Prop | 描述 | |
---|---|---|
none | 缓存所有组件,以保持其状态 | 运行示例 » |
include | 可选。指定需要保持状态的组件的名称 | 运行示例 » |
exclude | 可选。指定不需要保持状态的组件的名称 | 运行示例 » |
max | 可选。指定需要保持状态的组件的最大数量。如果您指定最多缓存 4 个组件,那么将被缓存的是最近访问的 4 个组件。 | 运行示例 » |
<KeepAlive> 缓存组件的生命周期
通过内置的 <KeepAlive>
组件缓存的组件,在它们被设置为或未设置为活动动态组件时,会在 activated
和 deactivated
状态之间切换。
当这种缓存的组件被设置为或未设置为活动组件时,可以使用 activated()
和 deactivated()
生命周期钩子来执行代码。
更多示例
示例
使用 include
prop 指定哪些组件将缓存值
<KeepAlive include="CompOne,CompThree">
<component :is="activeComp"></component>
</KeepAlive>
运行示例 »
示例
使用 exclude
prop 指定哪些组件不缓存值
<KeepAlive exclude="CompOne">
<component :is="activeComp"></component>
</KeepAlive>
运行示例 »
示例
使用 max
prop 指定最后访问的多少个组件将缓存值
<KeepAlive :max="2">
<component :is="activeComp"></component>
</KeepAlive>
运行示例 »
相关页面
Vue 教程:动态组件
Vue 教程:“activated”和“deactivated”生命周期钩子