基于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 相关文章推荐
提高 DHTML 页面性能
Dec 25 Javascript
jquery文字上下滚动的实现方法
Mar 22 Javascript
js模仿hover的具体实现代码
Dec 30 Javascript
javascript遍历控件实例详细解析
Jan 10 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖放商品放置购物车
Nov 30 Javascript
JavaScript判断是否是微信浏览器
Jun 13 Javascript
MUI 解决动态列表页图片懒加载再次加载不成功的bug问题
Apr 13 Javascript
原生JavaScrpit中异步请求Ajax实现方法
Nov 03 Javascript
Vue下拉框回显并默认选中随机问题
Sep 06 Javascript
a标签调用js的方法总结
Sep 05 Javascript
如何利用Node.js与JSON搭建简单的动态服务器
Jun 16 Javascript
插件导致ECharts被全量引入的坑示例解析
Sep 23 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
Linux下 php5 MySQL5 Apache2 phpMyAdmin ZendOptimizer安装与配置[图文]
2008/11/18 PHP
PHP 执行系统外部命令 system() exec() passthru()
2009/08/11 PHP
php header功能的使用
2013/10/28 PHP
php获取根域名方法汇总
2014/10/28 PHP
php实现搜索类封装示例
2016/03/31 PHP
PHP简单获取多个checkbox值的方法
2016/06/13 PHP
php 命名空间(namespace)原理与用法实例小结
2019/11/13 PHP
接收键盘指令的脚本
2006/06/26 Javascript
不错的新闻标题颜色效果
2006/12/10 Javascript
location.href语句与火狐不兼容的问题
2010/07/04 Javascript
javascript中IE浏览器不支持NEW DATE()带参数的解决方法
2012/03/01 Javascript
顶部缓冲下拉菜单导航特效的JS代码
2013/08/27 Javascript
js获取当前日期时间及其它日期操作汇总
2016/03/08 Javascript
JQuery validate插件Remote用法大全
2016/05/15 Javascript
基于JavaScript实现点击页面任何位置返回
2016/08/31 Javascript
详解js产生对象的3种基本方式(工厂模式,构造函数模式,原型模式)
2017/01/09 Javascript
jQuery实现获取h1-h6标题元素值的方法
2017/03/06 Javascript
解决OneThink中无法异步提交kindeditor文本框中修改后的内容方法
2017/05/05 Javascript
使用node打造自己的命令行工具方法教程
2018/03/26 Javascript
Vue子组件向父组件通信与父组件调用子组件中的方法
2018/06/22 Javascript
vue简单练习 桌面时钟的实现代码实例
2019/09/19 Javascript
js实现翻牌小游戏
2020/07/31 Javascript
简化Python的Django框架代码的一些示例
2015/04/20 Python
python实现自主查询实时天气
2018/06/22 Python
Python检查ping终端的方法
2019/01/26 Python
基于Python新建用户并产生随机密码过程解析
2019/10/08 Python
django数据模型中null和blank的区别说明
2020/09/02 Python
CSS3地图动态实例代码(圆圈向外扩散)
2018/06/15 HTML / CSS
HTML5实现晶莹剔透的雨滴特效
2014/05/14 HTML / CSS
美国休闲服装品牌:J.Crew Factory
2017/03/04 全球购物
日本即尚网:JSHOPPERS.com(支持中文)
2019/12/03 全球购物
C语言笔试题
2014/09/04 面试题
优秀大专毕业生求职信
2014/08/04 职场文书
护士求职自荐信范文
2015/03/04 职场文书
2015年会计人员工作总结
2015/05/22 职场文书
Python安装使用Scrapy框架
2022/04/12 Python