
小程序制作工具_Vue2.0 完成页面缓存和不缓存的方
2、在路由router.js中设置.vue页面是否需要缓存
path: '/home', component: home, meta: { keepAlive: true },//当前的.vue文件需要缓存 path: '/notice', component: notice,//当前页面不需要缓存 }
3、从缓存页面跳转到不缓存页面,或者从不缓存页面跳转到缓存页面的时候,会发现watch是不能监听路由的,是因为缓存和不缓存页面分别在不同的div里面,一个div里面是不可能监听到另一个div的路由的,所有需要把监听的路由都加上缓存(在路由添加 meta: { keepAlive: true }),路由在缓存页面之间进行跳转的时候,就可以通过监听路由来进行判断数据是否需要更新。
vue keep-alive 缓存后, 进入缓存页需要再次更新
beforeRouteEnter (to, from, next) { next (vm = { vm.getData() mounted: function () { this.getData() }
keep-alive 数据更新问题
在项目中使用 keep-alive 包含 router-view 实现页面缓存,加速页面加载,
同时,这种方式带来一些弊端,请看如下大神解释:
****************************************************************************
当引入keep-alive的时候,页面第一次进入,钩子的触发顺序created- mounted- activated,退出时触发deactivated。
当再次进入(前进或者后退)时,只触发activated。
****************************************************************************
这就带来一个问题,之前在项目中使用mounted在页面加载时获取数据,使用 keep-alive 后方法不再生效,
根据上面的解释,将mounted替换为activated即可。
以上这篇Vue2.0 实现页面缓存和不缓存的方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持凡科。
扫描二维码分享到微信