
根据page_id动态清除组件缓存
在vue keep-alive的缓存机制中,当component被切换时,原有的component会进入缓存,直至新的component被取消激活。然而,在某些情况下,我们可能需要在组件进入激活状态前手动清除其缓存。
针对该场景,我们可以采用以下措施:
首先,在注册组件时,使用item.page_id作为组件名称:
Vue.component(item.page_id, loadComponent);
其次,在keep-alive组件中引入include属性,该属性指定要缓存的组件名称数组。同时,在组件data中创建一个page_id_list数组,用于存放已经显示的page_id:
立即学习“前端免费学习笔记(深入)”;
data() {
return {
page_id_list: [],
// ...
};
}最后,在keep-alive组件中使用include属性:
...
通过这种方式,我们可以根据page_id动态清除组件缓存,确保需要消除的组件不会被保留在缓存中。











