vue keepAlive缓存清除问题案例详解

 更新时间:2021年09月08日 15:31:34   作者:王的剑鞘&wkq  
这篇文章主要介绍了vue keepAlive缓存清除问题案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下

vue项目中经常会用到keepalive来做缓存,在应付基本要求上可以说非常方便。但是遇到同一个页面,根据条件不同,分别缓存或者不缓存,就有些麻烦了。

首先先把坑列出来:

1.

<keep-alive v-if="xxx">
          <router-view />
</keep-alive>
<keep-alive v-else>
          <router-view />
</keep-alive>

网上很多都是这种方法,用了这种方法,已缓存的东西是没法删掉的,其实这个方法是把缓存页面和不缓存页面完全分成了两个组件展示,虽然一般情况下看着是那么回事,其实就是根据你的条件,不同时候展示不同的组件来看。

2.

vm.$destroy()

当想到把已有的缓存去掉,我估计大多数人第一反应都是想着怎么把缓存删掉,于是乎我也尝试想办法把缓存删掉。然后调用了vue的销毁方法。当销毁后你会很开心的发现实现了!缓存删掉了~ 于是乎你就以为改好了,跑去继续开发别的东西。突然某一天你发现,诶? 我这个页面怎么不缓存了? 经过一番排查 发现了调用过$destroy()的页面就不会再缓存了。。

最后我的解决方案:

Template
<keep-alive :include="keepAlive.join(',')">
         <router-view />
</keep-alive>

vuex

keepAlive: [
        '/joinManage/register/add-step1',
        '/joinManage/register/add-step2',
        '/joinManage/register/add-step3',
        '/joinManage/config/add-step1',
        '/joinManage/config/add-step2',
        '/joinManage/config/add-step3',
        '/joinManage/config/add-step4',
        '/joinManage/config/add-step5',
    ],

利用include+vuex,动态改变所需缓存页面。include所接受的为组件的name(此处我嫌命名麻烦,直接用path命名了, 其实并不是使用path)

这样的话,当我们某个页面需要缓存,我们就把其name加入keepalive数组中,不需要就删除对应的。这样就可以实现keepAlive的缓存删除效果了

到此这篇关于vue keepAlive缓存清除问题案例详解的文章就介绍到这了,更多相关vue keepAlive缓存清除问题内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue elementUI select下拉框设置默认值(赋值)失败的解决

    vue elementUI select下拉框设置默认值(赋值)失败的解决

    这篇文章主要介绍了vue elementUI select下拉框设置默认值(赋值)失败的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • 使用 Vue 绑定单个或多个 Class 名的实例代码

    使用 Vue 绑定单个或多个 Class 名的实例代码

    这篇文章主要介绍了使用 Vue 绑定单个或多个 Class 名的实例代码,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2018-01-01
  • 前端Vue自定义地址展示地址选择地址管理组件的示例详解

    前端Vue自定义地址展示地址选择地址管理组件的示例详解

    这篇文章主要介绍了前端Vue自定义地址展示地址选择地址管理组件的示例详解,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • Vue+Openlayer中使用select选择要素的实现代码

    Vue+Openlayer中使用select选择要素的实现代码

    本文通过实例代码给大家介绍Vue+Openlayer中使用select选择要素,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-08-08
  • vue中改变滚动条样式的方法

    vue中改变滚动条样式的方法

    这篇文章主要介绍了vue中改变滚动条样式的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Vue数据劫持详情介绍

    Vue数据劫持详情介绍

    这篇文章主要介绍了Vue数据劫持详情介绍,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下,希望对你的学习有所帮助
    2022-08-08
  • vue前台显示500和405错误的解决(springboot为后台)

    vue前台显示500和405错误的解决(springboot为后台)

    这篇文章主要介绍了vue前台显示500和405错误的解决(springboot为后台),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • vue3-print-nb实现页面打印(含分页打印)示例代码

    vue3-print-nb实现页面打印(含分页打印)示例代码

    大多数后台系统中都存在打印的需求,在有打印需求时,对前端来说当然是直接打印页面更容易,下面这篇文章主要给大家介绍了关于vue3-print-nb实现页面打印(含分页打印)的相关资料,需要的朋友可以参考下
    2024-01-01
  • Vue入门实战之天气预报

    Vue入门实战之天气预报

    这篇文章主要为大家详细介绍了Vue入门实战之天气预报,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • Vue3新属性之css中使用v-bind的方法(v-bind in css)

    Vue3新属性之css中使用v-bind的方法(v-bind in css)

    这篇文章主要介绍了Vue3新属性css中使用v-bind(v-bind in css)的方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-01-01

最新评论