vue实现页面缓存,vue监听页面关闭事件

  vue实现页面缓存,vue监听页面关闭事件

  本文主要介绍vue如何监控页面缓存事件,有很好的参考价值。希望对你有帮助。如有错误或不足之处,请不吝赐教。

  

目录

  侦听页面缓存事件。其原因是这样一个侦听器缓存事件代码在main中创建一个缓存事件,并在组件生命周期的组件业务代码中创建一个缓存事件。

  

监听页面缓存事件

  

事情的起因是这样的

  项目中需要使用Websocket。网页刚打开的时候,需要连接绑定对话。就我一个菜鸟来说,第一次做这样的事情,也是刚刚接触websocket。这个怎么样?绑定是在App.vue中设置的,所有返回的信息都在app.vue组件中,但是其他组件怎么获取呢?并且需要在本地缓存。刚开始还没接触过vuex,只能用localStorage在其他组件中获取服务器返回的信息,郁闷。如何监控这个缓存?

  首先在main.js里面配置vue原型:

  vue . prototype . resetsetitem=(key,newVal)={

  if (key===websocketHistory) {

  //创建StorageEvent事件

  let newStorageEvent=document . create event( storage event );

  常量存储={

  setItem: (k,val)={

  localStorage.setItem(k,val);

  //初始化创建的事件

  newstorageevent . initstorageevent( setItem ,false,false,k,null,val,null,null);

  //发送对象

  window . dispatch event(newStorageEvent);

  }

  };

  返回storage.setItem(key,new val);

  }

  };

  此时,在其他页面中写入缓存时,不能直接使用localStorage。

  你需要这么设置

  this . resetsetitem( websocketHistory ,data);

  然后,在要监控的页面中,在创建的函数中使用它。

  window . addevent listener( setItem ,()={

  console . log(JSON . parse(local storage . getitem( websocketHistory )));

  });

  这样,服务器返回的信息可以在app.vue组件中使用并存储在缓存中,列表可以在其他组件中实时更新,比如回复列表页面,包括对话页面。

  

监听缓存事件代码

  随着H5的更新,前端经常使用本地存储来交互处理数据。如果您想要监视缓存更改,下面的代码就是您想要的。

  

在main创建缓存事件

  //侦听缓存事件

  vue . prototype . $ addStorageEvent=function(type,key,data) {

  if (type===1) {

  //创建StorageEvent事件

  var newStorageEvent=document . create event( storage event );

  常量存储={

  setItem: function(k,val) {

  localStorage.setItem(k,val);

  //初始化创建的事件

  newstorageevent . initstorageevent(

  存储项目,

  假的,

  假的,

  k,

  空,

  瓦尔,

  空,

  空

  );

  //发送对象

  window . dispatch event(newStorageEvent);

  },

  };

  返回storage.setItem(key,data);

  }否则{

  //创建StorageEvent事件

  var newStorageEvent=document . create event( storage event );

  常量存储={

  setItem: function(k,val) {

  sessionStorage.setItem(k,val);

  //初始化创建的事件

  newstorageevent . initstorageevent(

  设置项目,

  假的,

  假的,

  k,

  空,

  瓦尔,

  空,

  空

  );

  //发送对象

  window . dispatch event(newStorageEvent);

  },

  };

  返回storage.setItem(key,data);

  }

  };

  

在组件生命周期中

  侦听缓存事件并获取值。

  window.addEventListener(

  stotageItem,

  (e)={//e表示存储的数据{a:1}

  解析(英语)

  },

  错误的

  );

  

在组件业务代码

  使用缓存。

  这个。$addStorageEvent(0,使用存储,

  //写入数据

  JSON.stringify({ a:1 })

  );

  这些都是几代人。只是个人经验,希望能给大家一个参考,也希望大家多多支持。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: