ITPub博客

首页 > 应用开发 > Javascript > KeepAlive 简单使用,及手动去除内容存储

KeepAlive 简单使用,及手动去除内容存储

原创 Javascript 作者:yikehulian01 时间:2020-10-21 16:09:53 0 删除 编辑

项目需求:使用keep-alive 实现项目中部分页面的存储功能,当关闭页面需求清除掉缓存,tab切换页面时需要保留内容进行缓存;

问题:关闭后,重新打开页面,内容仍然存在,需要强制清除keep-alive 保留的缓存内容;

效果如下:

实过程及思路:部分代码

1、keep-alive 使用保留缓存实现:

router配置:

undefined或者  undefined

<keep-alive><router-view v-if="$route.meta.keepalive" :key="key" /></keep-alive><router-view v-if="!$route.meta.keepalive" :key="key" />

关闭菜单操作:

pageDelete(id, tag) {this.$store.commit('tagBar/tagDelete', id)}

store 存储设置:

undefined

在需要的页面中处理设置;

//从store 去除删除的内容标识;
import { mapGetters } from 'vuex'
computed: {
...mapGetters(['closeTagName'])
},
/******** 其他内容略过 ********/
// 路由离开,处理需要销毁的内容
beforeRouteLeave(to, from, next) {
if (this.closeTagName === '添加客户') {
this.$router.history.current.meta.keepalive = false
// 设置下一个路由的 meta
to.meta.keepAlive = false // 不缓存
this.$store.commit('tagBar/setCloseTagName')
} else {
this.$router.history.current.meta.keepalive = true
// 设置下一个路由的 meta
to.meta.keepAlive = true // 不缓存
}
next()
}

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69985427/viewspace-2728485/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
搭建专属的移动订货商城 免费使用

注册时间:2020-10-14

  • 博文量
    57
  • 访问量
    55707