基于vue中keep-alive缓存问题的解决方法


Posted in Javascript onSeptember 21, 2018

vue开发的时候,我们经常会有这样的需求:开发一个详细页面来展示商品的详细信息,根据列表页传入的id进行请求,拿到对应的数据进行渲染。

但是一般在路由上都会加上keep-alive保持数据的状态,除非强制无缓存刷新,这就导致第一次进入详情页面时,可以在created中拿到id,但是返回后,再点击进入,就不会再走相应的生命周期了,无法拿到新的id

这时候可以使用vue的$destroy()方法

这是vue的一个生命周期,完全销毁一个实例。清理它与其它实例的连接,解绑它的全部指令及事件监听器。

不用$destroy方法的时候可以用watch监听路有变化来实现效果

created() {
  this.goodsId = this.$route.query.goodsId;
  this.getGoodsInfo();
 },
 watch: {
  '$route'(to, from) {
  if(to.name === 'GoodsDetail') {
   this.goodsId = to.query.goodsId;
   this.getGoodsInfo();
  }
  }
 }

用$destroy方法

created() {
  if(this.goodsId !== this.$route.query.goodsId) {
  this.$destroy();
  }
  this.goodsId = this.$route.query.goodsId;
  this.getGoodsInfo();
 }

以上这篇基于vue中keep-alive缓存问题的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
如何用javascript去掉字符串里的所有空格
Feb 08 Javascript
window.parent与window.openner区别介绍
Apr 12 Javascript
js 高效去除数组重复元素示例代码
Dec 19 Javascript
jQuery实现为控件添加水印文字效果(附源码)
Dec 02 Javascript
bootstrap栅格系统示例代码分享
May 22 Javascript
angular中使用Socket.io实例代码
Jun 03 Javascript
jQuery 循环遍历改变a标签的href(实例讲解)
Jul 12 jQuery
详解vue项目中如何引入全局sass/less变量、function、mixin
Jun 02 Javascript
解决vue axios的封装 请求状态的错误提示问题
Sep 25 Javascript
关于layui表单中按钮自动提交的解决方法
Sep 09 Javascript
vue 如何使用递归组件
Oct 23 Javascript
小程序实现文字循环滚动动画
Jun 14 Javascript
vue中前进刷新、后退缓存用户浏览数据和浏览位置的实例讲解
Sep 21 #Javascript
vue单页面应用打开新窗口显示跳转页面的实例
Sep 21 #Javascript
详解Vue改变数组中对象的属性不重新渲染View的解决方案
Sep 21 #Javascript
默认浏览器设置及vue自动打开页面的方法
Sep 21 #Javascript
详解Vue中数组和对象更改后视图不刷新的问题
Sep 21 #Javascript
详解vue 数组和对象渲染问题
Sep 21 #Javascript
vue 2.8.2版本配置刚进入时候的默认页面方法
Sep 21 #Javascript
You might like
深入解析Session是否必须依赖Cookie
2013/08/02 PHP
试用php中oci8扩展
2015/06/18 PHP
php采集神器cURL使用方法详解
2016/02/19 PHP
PHP实现新型冠状病毒疫情实时图的实例
2020/02/04 PHP
Javascript中的数学函数集合
2007/05/08 Javascript
基于jquery的下拉框改变动态添加和删除表格实现代码
2020/09/12 Javascript
JQuery入门—JQuery程序的代码风格详细介绍
2013/01/03 Javascript
jQuery性能优化28条建议你值得借鉴
2013/02/16 Javascript
关于js内存泄露的一个好例子
2013/12/09 Javascript
node.js实现BigPipe详解
2014/12/05 Javascript
javascript实现多级联动下拉菜单的方法
2015/02/06 Javascript
JS组件Bootstrap dropdown组件扩展hover事件
2016/04/17 Javascript
AngularJS ng-repeat数组有重复值的解决方法
2016/10/23 Javascript
ajax异步请求详解
2017/01/06 Javascript
使用D3.js制作图表详解
2017/08/13 Javascript
使用命令行工具npm新创建一个vue项目的方法
2017/12/27 Javascript
JavaScript实现求最大公共子串的方法
2018/02/03 Javascript
vue.js 实现点击展开收起动画效果
2018/07/07 Javascript
webpack+vue-cli项目中引入外部非模块格式js的方法
2018/09/28 Javascript
在pycharm中开发vue的方法步骤
2020/03/04 Javascript
用vue写一个日历
2020/11/02 Javascript
[01:03:37]Secret vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
web.py中调用文件夹内模板的方法
2014/08/26 Python
Python类方法__init__和__del__构造、析构过程分析
2015/03/06 Python
Python中matplotlib中文乱码解决办法
2017/05/12 Python
使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”
2018/03/23 Python
简单了解Pandas缺失值处理方法
2019/11/16 Python
Python assert关键字原理及实例解析
2019/12/13 Python
Python的pygame安装教程详解
2020/02/10 Python
戴尔美国官方折扣店:Dell Outlet
2018/02/13 全球购物
《学会待客》教学反思
2014/02/22 职场文书
城市精细化管理实施方案
2014/03/04 职场文书
怎样填写就业意向
2014/04/02 职场文书
律师催款函范文
2015/06/24 职场文书
2015年国庆节寄语
2015/08/17 职场文书
mysql的Buffer Pool存储及原理
2022/04/02 MySQL