当前位置: 首页 > 编程笔记 >

关于vue路由缓存清除在main.js中的设置

须捷
2023-03-14
本文向大家介绍关于vue路由缓存清除在main.js中的设置,包括了关于vue路由缓存清除在main.js中的设置的使用技巧和注意事项,需要的朋友参考一下

1.main.js

/* 页面数据缓存 */
var _CACHE_OBJS = {};
 
function _init_cache(comp, key, cache) {
 var obj = cache[key];
 if (obj !== undefined) {
 comp[key] = obj;
 }
 var deep = typeof comp[key] === 'object';
 comp.$watch(key,
 function (val) {
  //console.log("page " + key + " updated");
  cache[key] = val;
 }, {
  deep: deep
 });
}
 
 
var _PAGE_CACHE = {
 /*
 * 初始化页面缓存数据
 * comp: 当前页面component 对象
 * path: 当前页面vue router path
 * data: 需要缓存的数据对象名称,或名称数组
 */
 cache: function (comp, path, data) {
 if (data == '' || data == undefined || data == null) {
  data = restore(comp._data);
 }
 var cache = _CACHE_OBJS[path];
 if (cache === undefined) {
  cache = {};
  _CACHE_OBJS[path] = cache;
 }
 if (typeof data == 'string') {
  _init_cache(comp, data, cache);
 } else {
  var i;
  for (i = 0; i < data.length; ++i) {
  _init_cache(comp, data[i], cache);
  }
 }
 console.log(_CACHE_OBJS, "页面数据缓存");
 },
 
 /* 清除页面缓存 */
 clear: function (path) {
 delete _CACHE_OBJS[path];
 },
 
 /* 清空所有缓存数据 */
 reset: function () {
 //console.log("reset page cache");
 _CACHE_OBJS = {};
 },
 /*根据path查看当前页面缓存是否存在*/
 has_cache: function (path) {
 return _CACHE_OBJS[path] !== undefined && !isEmptyObject(_CACHE_OBJS[path]);
 }
};
 
Vue.prototype.$cache = _PAGE_CACHE;
/* eslint-disable no-new */
 
var restore = function (vueObject) {
 var result = [];
 for (var index in vueObject) {
 result.push(index);
 }
 return result;
};
 
var isEmptyObject = function (obj) {
 for (var key in obj) {
 return false;
 }
 return true;
}
 

以上这篇关于vue路由缓存清除在main.js中的设置就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 路由缓存 V5.1.14+版本开始支持开启路由缓存(仅在部署模式下有效),在定义了大量的路由规则之后,开启该缓存可以明显提升路由解析性能,而且路由规则越多越明显。 在应用配置文件app.php中设置开启: 'route_check_cache' => true, 开启后,会自动对每次的路由请求的调度进行缓存,第二次如果是相同的请求则无需再次经过路由解析,而是直接进行请求调度。 默认情况下的路由缓

  • void clear_cache(string template [, string cache id [, string compile id [, int expire time]]]) This clears the cache for a specific template. If you have multiple caches for this template, you can cl

  • 我已在登录时在本地存储中设置了身份验证令牌,并在注销时将其清除。注销后,如果用户尝试再次登录,则从缓存中获取旧的身份验证令牌,而不是新设置的值。如何在清除本地存储时清除缓存。我在应用程序中使用angular 2。 登录: 注销:

  • 问题内容: 通过WSDL缓存所在的位置(),但我不一定知道删除以WSDL开头的所有文件是否安全。 是的,我 应该 能够从中删除所有内容,但是我不知道如果删除所有WSDL文件,这还会影响什么。 问题答案: 您可以安全地删除WSDL缓存文件。如果希望防止以后进行缓存,请使用: 或动态地:

  • 问题内容: 我试图按照此处的建议从缓存中删除模块。 在文档中,我们阅读: require.cache 目的 需要时将模块缓存在此对象中。 通过从该对象中删除键值,下一个require将重新加载模块。 因此,我创建了一个包含一行的名为的文件: 然后我需要通过外壳: 那么,为什么不返回时,我的文件中包含和清除缓存? 进行调试时,我发现有一个对象在执行时未清除。 问题答案: 只是公开的缓存对象引用,不会

  • 清除系统缓存 初衷 本身 Linux 有比较成熟的内存管理机制,但是不免也是会抽风的,有些程序在被 kill 掉之后系统内存依然没有大的变化,这时候就需要手动清除。 清除缓存 官网说明:http://www.kernel.org/doc/Documentation/sysctl/vm.txt 先查看目前系统内存使用情况:free -m 同步缓存数据到硬盘:sync 开始清理:echo 3 > /p