广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >前端项目中监听localStorage的变化
  • 586
分享到

前端项目中监听localStorage的变化

2024-04-02 19:04:59 586人浏览 八月长安
摘要

目录背景解题思路第一种:storageEvent第二种:封装localStroage背景 前几天有位兄弟问我,如何去监听localStorage的变化呢??我确实是没遇到过这种场景,

背景

前几天有位兄弟问我,如何去监听localStorage的变化呢??我确实是没遇到过这种场景,但是我仔细想想,似乎想要达到这样的效果,其实也不难。

解题思路

第一种:storageEvent

其实javascript原生就有一个监听localStorage变化的事件——storage,使用方法如下

window.addEventListener('storage', () => {
  // callback
})

我们来看看MDN上是怎么描述这个事件的:

也就是说,同域下的不同页面A、B,只有本页面修改了localStorage才会触发对方的storage事件

但是显然这种方案很不适用在现在的大部分项目中,毕竟这种方案太局限了,不能应用在本页面监听的场景

第二种:封装localStroage

其实就是代理一下对localStorage进行多一层的封装,使得我们每次在操作localStorage的时候,都会多走一层函数,而我们就可以在这一层中去执行监听的事件了,下面是简单的代码例子:

class CommonLocalStorage {
  private storage: Storage;
  constructor() {
    this.storage = window.localStorage;
  }
  set(key: string, value: any) {
    // 执行监听的操作
    return this.storage.setItem(`${prefix}${key}`, value);
  }
  get(key: string) {
    // 执行监听的操作
    return this.storage.getItem(`${prefix}${key}`);
  }
  del(key: string) {
    // 执行监听的操作
    return this.storage.removeItem(`${prefix}${key}`);
  }
  clear() {
    // 执行监听的操作
    this.storage.clear();
  }
}
const commonStorage = new CommonLocalStorage();
export default commonStorage

这种方式也被应用于很多比较出名的项目中,大家可以去看那些开源的项目中,基本很少直接使用localStorage,而是都是会封装一层的

以上就是前端项目中监听localStorage的变化的详细内容,更多关于前端监听localStorage变化的资料请关注编程网其它相关文章!

--结束END--

本文标题: 前端项目中监听localStorage的变化

本文链接: https://www.lsjlt.com/news/151388.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 前端项目中监听localStorage的变化
    目录背景解题思路第一种:storageEvent第二种:封装localStroage背景 前几天有位兄弟问我,如何去监听localStorage的变化呢??我确实是没遇到过这种场景,...
    99+
    2022-11-13
  • 前端项目中的Vue、React错误监听
    目录一、 Vue 错误监听window.onerrorerrorCaptured 生命周期errorHandler异步错误答案扩展二、React 错误监听ErrorBoundaryd...
    99+
    2022-11-13
  • Vue中localStorage的用法和监听localStorage值的变化
    目录localStorage APIsetItem()getItem()removeItem()clear()key()在vue中实现监听localstorage中某个键对应的值的变...
    99+
    2023-05-16
    localStorage的用法 监听 localStorage值的变化
  • 前端项目中的Vue、React错误监听怎么实现
    本篇内容介绍了“前端项目中的Vue、React错误监听怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、 Vue 错误监听题目:如何...
    99+
    2023-06-30
  • JS组件封装之监听localStorage的变化
    前言: 由于在平时开发中,经常或不经常的用到一些功能或插件或函数,回头找起来还挺麻烦,我的想法是我直接将他们全部的封装成一个个的组件,做到“”拿来即用&ldq...
    99+
    2022-11-13
  • vue项目中的数据变化被watch监听并处理
    目录vue数据变化被watch监听处理监听当前vue文件数据监听vuex中的数据如何正确使用watch监听属性变化基本用法监听object初始化变量触发监听回调vue数据变化被wat...
    99+
    2022-11-13
  • vue前端测试开发watch监听data的数据变化
    目录watch监听data的数据变化新问题解决1. 先把姓名的值,也加到options里2. 在监听里增加for循环和判断watch监听data的数据变化 上一篇里提到了用eleme...
    99+
    2022-11-13
  • vue前端测试开发watch如何监听data的数据变化
    本篇内容主要讲解“vue前端测试开发watch如何监听data的数据变化”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue前端测试开发watch如何监听data的数据变化”吧!watch监听d...
    99+
    2023-06-30
  • react前端项目打包优化的方法
    今天小编给大家分享一下react前端项目打包优化的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。分析通过控制台判断加载资...
    99+
    2023-06-05
  • 如何在Android中监听音量的变化
    这篇文章给大家介绍如何在Android中监听音量的变化,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Android是什么Android是一种基于Linux内核的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机...
    99+
    2023-06-15
  • vue中watch监听不到变化的解决
    目录watch监听不到对象内部的变化解决方法:watch的handler方法的两个参数值相同解决方法:全部代码watch监听不到对象内部的变化 有的时候vue会出现这种现象,无法监听...
    99+
    2023-01-05
    vue watch监听不到 vue watch监听
  • 在Angular中如何监听某个值的变化
    目录Angular监听某个值的变化使用getterangular使用form表单监听数据引入主要使用方法类 FormGroup,FormBuilder,Validators赋值引入创...
    99+
    2023-03-06
    Angular监听 Angular监听某值 监听某个值的变化
  • 在Angular中怎么监听某个值的变化
    今天小编给大家分享一下在Angular中怎么监听某个值的变化的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Angular监听...
    99+
    2023-07-05
  • Android中的webview监听每次URL变化实例
    通过这个可以监听Android中webview访问的URL变化: webView.setWebViewClient(new WebViewClient(){ @Overrid...
    99+
    2022-06-06
    webview url Android
  • vue.js中怎么实时监听input值的变化
    今天就跟大家聊聊有关vue.js中怎么实时监听input值的变化,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、vuejs 2.0中js实时监听i...
    99+
    2022-10-19
  • react前端项目打包优化的示例分析
    小编给大家分享一下react前端项目打包优化的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!分析通过控制台判断加载资源时间还有资源大小通过开发者工具可以看到白屏的主要原因在于bun...
    99+
    2022-10-19
  • Android项目中监听软键盘的方法有哪些
    Android项目中监听软键盘的方法有哪些?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。function 1:重写Activity的dispatchKeyEve...
    99+
    2023-05-31
    android roi 目中
  • Vue中监听数据变化的原理是什么
    这期内容当中小编将会给大家带来有关Vue中监听数据变化的原理是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。浅度监听<!DOCTYPE html>...
    99+
    2022-10-19
  • SpringBoot如何监控Redis中某个Key的变化(自定义监听器)
    目录SpringBoot 监控Redis中某个Key的变化1.声明2.基本理念3.实现和创建监听4.基本demo的其他配置5.基本测试6.小结一下SpringBoot自定义监听器原理...
    99+
    2022-11-12
  • 基于Android 监听ContentProvider 中数据变化的相关介绍
    如果ContentProvider的访问者需要知道ContentProvider中的数据的变化情况,可以在ContentProvider发生数据变化时调用getContentR...
    99+
    2022-06-06
    数据 Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作