在做项目的时候,可能需要在其他模块获取推送的信息或者变量,但是数据量或者说数目少,而且项目中也没有引用VUEX,那么可以下手的方法之一也就是sessionStorage类的浏览器存储了。

首先在全局的main.js中写入:

// 全局获取缓存数据
Vue.prototype.resetSetItem = function (key, newVal) {
if (key === 'watchStorage') { // 创建一个StorageEvent事件
var newStorageEvent = document.createEvent('StorageEvent');
const storage = {
setItem: function (k, val) {
sessionStorage.setItem(k, val); // 初始化创建的事件
newStorageEvent.initStorageEvent('setItem', false, false, k, null, val, null, null); // 派发对象
window.dispatchEvent(newStorageEvent)
}
}
return storage.setItem(key, newVal);
}
},

设置/修改方法就简单了:

Vue.prototype.resetSetItem('watchStorage', 'false'); (在API中引入,引入文件为:import Vue from 'vue' )

或:

 this.resetSetItem('watchStorage','false');
 
在需要的地方进行监听:
 
window.addEventListener('setItem', ()=> {
_this.newVal = sessionStorage.getItem('watchStorage');
})

监听方法可以写在文件的create 或mounted中即可。

最新文章

  1. 在Ubuntu中创建与Windows的共享文件夹
  2. BZOJ3847 : ZCC loves march
  3. Shape 与 InlineShape 的区别
  4. C# - 转换
  5. PCB板可靠性测试方法择要
  6. startup_LPC17XX.s 启动文件分析
  7. idea导出war包
  8. JarvisOJ Misc shell流量分析
  9. applicationContext.xml 模板
  10. GNU Wget 1.19.1 static built on mingw32
  11. 使用AutoFac实现依赖注入
  12. ElasticSearch权威指南学习(分布式文档存储)
  13. WPF实战案例-数据代理
  14. Asp.Net Core混合使用cookie和JwtBearer认证方案
  15. 基于TQ2440和Qemu的GDB+串口调试(1)
  16. MutationObserver 监听DOM树变化
  17. jQuery的发展史,你知道吗?
  18. static_cast 和 dynamic_cast
  19. 167. Add Two Numbers【easy】
  20. [GO]通过结构体生成json

热门文章

  1. webpack 中如何使用 vue
  2. 百度网盘SVIP不限速Mac破解版(亲测可用)
  3. ubuntu上的疑难杂症(不定期更新……)
  4. Linux系统安装使用实录--传送门(持续更新)
  5. 分布式FastDfs+nginx缓存高可用集群构建
  6. Azure IoT 技术研究系列4
  7. 【前端】HTML基础
  8. ubuntu16.04 安装samba
  9. MAN RPM
  10. kafka broker