日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

所以,你是知道怎么監聽LocalStorage的變化的?

來源: 責編: 時間:2024-04-11 09:04:44 187觀看
導讀前言大家好,我是林三心,用最通俗易懂的話講最難的知識點是我的座右銘,基礎是進階的前提是我的初心背景前幾天有位兄弟問我,如何去監聽localStorage的變化呢??我確實是沒遇到過這種場景,但是我仔細想想,似乎想要達到這樣的效果

前言

大家好,我是林三心,用最通俗易懂的話講最難的知識點是我的座右銘,基礎是進階的前提是我的初心4Y728資訊網——每日最新資訊28at.com

背景

前幾天有位兄弟問我,如何去監聽localStorage的變化呢??我確實是沒遇到過這種場景,但是我仔細想想,似乎想要達到這樣的效果,其實也不難。4Y728資訊網——每日最新資訊28at.com

解題思路

第一種:storageEvent

其實JavaScript原生就有一個監聽localStorage變化的事件——storage,使用方法如下4Y728資訊網——每日最新資訊28at.com

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

我們來看看MDN上是怎么描述這個事件的:4Y728資訊網——每日最新資訊28at.com

圖片4Y728資訊網——每日最新資訊28at.com

也就是說,同域下的不同頁面A、B,只有本頁面修改了localStorage才會觸發對方的storage事件4Y728資訊網——每日最新資訊28at.com

但是顯然這種方案很不適用在現在的大部分項目中,畢竟這種方案太局限了,不能應用在本頁面監聽的場景4Y728資訊網——每日最新資訊28at.com

第二種:封裝localStroage

其實就是代理一下對localStorage進行多一層的封裝,使得我們每次在操作localStorage的時候,都會多走一層函數,而我們就可以在這一層中去執行監聽的事件了,下面是簡單的代碼例子:4Y728資訊網——每日最新資訊28at.com

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,而是都是會封裝一層的4Y728資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-82753-0.html所以,你是知道怎么監聽LocalStorage的變化的?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 一文讀懂Cache一致性原理

下一篇: 我們一起理解 React 服務端組件

標簽:
  • 熱門焦點
  • 一文看懂為蘋果Vision Pro開發應用程序

    譯者 | 布加迪審校 | 重樓蘋果的Vision Pro是一款混合現實(MR)頭戴設備。Vision Pro結合了虛擬現實(VR)和增強現實(AR)的沉浸感。其高分辨率顯示屏、先進的傳感器和強大的處理能力
  • 學習JavaScript的10個理由...

    作者 | Simplilearn編譯 | 王瑞平當你決心學習一門語言的時候,很難選擇到底應該學習哪一門,常用的語言有Python、Java、JavaScript、C/CPP、PHP、Swift、C#、Ruby、Objective-
  • 一文搞定Java NIO,以及各種奇葩流

    大家好,我是哪吒。很多朋友問我,如何才能學好IO流,對各種流的概念,云里霧里的,不求甚解。用到的時候,現百度,功能雖然實現了,但是為什么用這個?不知道。更別說效率問題了~下次再遇到,
  • 華為發布HarmonyOS 4:更好玩、更流暢、更安全

    在8月4日的華為開發者大會2023(HDC.Together)大會上,HarmonyOS 4正式發布。自2019年發布以來,HarmonyOS一直以用戶為中心,經歷四年多的發展HarmonyOS已
  • iQOO 11S評測:行業唯一的200W標準版旗艦

    【Techweb評測】去年底,iQOO推出了“電競旗艦”iQOO 11系列,作為一款性能強機,該機不僅全球首發2K 144Hz E6全感屏,搭載了第二代驍龍8平臺及144Hz電競
  • Android 14發布:首批適配機型公布

    5月11日消息,谷歌在今天凌晨舉行了I/O大會,本次發布會谷歌帶來了自家的AI語言模型PaLM 2、谷歌Pixel Fold折疊屏、谷歌Pixel 7a手機,同時發布了Androi
  • 英特爾Xe-HP項目終止,將專注Xe-HPC/HPG系列顯卡

    據10 月 31 日消息報道,英特爾高級副總裁兼加速計算系統和圖形事業部總經理 表示,Xe-HP“ Arctic Sound” 系列服務器 GPU 已經應用于 oneAPI devcloud 云服
  • 榮耀Magicbook V 14 2021曙光藍版本正式開售,擁有觸摸屏

    榮耀 Magicbook V 14 2021 曙光藍版本正式開售,搭載 i7-11390H 處理器與 MX450 顯卡,配備 16GB 內存與 512GB SSD,重 1.48kg,厚 14.5mm,具有 1.5mm 鍵盤鍵程、
  • 三翼鳥智能家居亮相電博會,讓用戶體驗更真實

    2021電博會在青島國際會展中心開幕中,三翼鳥直接把“家”搬到了現場,成為了展會的一大看點。這也是三翼鳥繼9月9日發布了行業首個一站式定制智慧家平臺后的
Top 主站蜘蛛池模板: 台北县| 泗水县| 洛扎县| 易门县| 绥江县| 澄迈县| 阜阳市| 大名县| 容城县| 江口县| 北流市| 英吉沙县| 广东省| 铁岭市| 普安县| 衡水市| 都江堰市| 略阳县| 彩票| 望都县| 交口县| 余姚市| 色达县| 元朗区| 南木林县| 墨江| 赤城县| 栾城县| 武安市| 永昌县| 巫溪县| 济南市| 乌兰浩特市| 山丹县| 潍坊市| 北安市| 桂平市| 鄂托克前旗| 保亭| 大余县| 旬阳县|