Vue 默认缓存,前进刷新,后退不刷新

Vue 默认缓存,前进刷新,后退不刷新

  • Vue的KeepAlive缓存
    • keep-alive的使用
    • 如何利用keep-alive两步实现【默认缓存,前进刷新,后退不刷新】
          • 1.充分利用include
          • 2.充分利用watch
            • 代码截图如下:

Vue的KeepAlive缓存

一般使用keep-alive缓存的时候总会有一些特殊的需求,做页面的特殊缓存。今天就讲一下如何简单有效的利用keep-alive实现页面路由的前进刷新(即进入全新页面),后退不刷新(即沿用之前缓存的数据页面),同一个页面前进和后退不清缓存,除非退出同一个页面销毁缓存数据。

keep-alive的使用


	

keep-alive有几个固有的参数设置:
1、include 包含所有页面缓存的name值,即要缓存的页面
2、exclude 不包含所有页面缓存的name值,即不缓存的页面

如何利用keep-alive两步实现【默认缓存,前进刷新,后退不刷新】

无需更改路由router.js,但是路由的name值一定要有
Vue 默认缓存,前进刷新,后退不刷新_第1张图片

1.充分利用include
#利用include通过设置keepAliveView集来实现特殊需求动态缓存

	

2.充分利用watch
#利用watch通过对路由的监听来实现设置keepAliveView缓存集
data() {
  return {
    keepAliveView: []
  };
},
watch: {
  $route(to, from) {
    var idxs = this.keepAliveView.indexOf(to.name);
    if (idxs == -1) {
      this.keepAliveView.push(to.name)
    } else if (to.name != from.name) {
      var idx = this.keepAliveView.indexOf(from.name);
      this.keepAliveView.splice(idx, 1)
    }
  }
}

如此便可实现 默认缓存,前进刷新,后退不刷新 的功能,两步即可实现效果

代码截图如下:

Vue 默认缓存,前进刷新,后退不刷新_第2张图片

仅供参考,学习!

你可能感兴趣的:(Vue,watch,vue,缓存)