iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JS组件封装之监听localStorage的变化
  • 427
分享到

JS组件封装之监听localStorage的变化

2024-04-02 19:04:59 427人浏览 薄情痞子
摘要

前言: 由于在平时开发中,经常或不经常的用到一些功能或插件或函数,回头找起来还挺麻烦,我的想法是我直接将他们全部的封装成一个个的组件,做到“”拿来即用&ldq

前言:

由于在平时开发中,经常或不经常的用到一些功能或插件或函数,回头找起来还挺麻烦,我的想法是我直接将他们全部的封装成一个个的组件,做到“”拿来即用“”且该组件必须经过测试确实可用才行,于是我新创建了一个Vue项目,基于"vue": "^2.6.14",用它来测试组件是否正常,因为我vue2/3 ,React hooks 之类的都在用,这里就以vue2作为基础了,后续我的想法是多做几个版本。

功能思路讲述

这个是我封装的函数,作用是监听本地存储localStorage的变化,当设置localStorage时可以监听它的变化并将值保存到变量中,实现响应式。

这个函数最核心之处其实是javascript的一个方法dispatchEvent,意思是派发事件,主动的给DOM事件,具体的使用方法可以查看红宝书,我记得他的参数有16个,可以好好看看这个,我之前拿它做无头浏览器来着。

组件内容:

找一个.js文件放入以下代码

function dispatchEventStroage() {
  const signSetItem = localStorage.setItem
  localStorage.setItem = function(key, val) {
      let setEvent = new Event('setItemEvent')
      setEvent.key = key
      setEvent.newValue = val
      window.dispatchEvent(setEvent)
      signSetItem.apply(this, arguments)
  }
}
 
export default dispatchEventStroage;

完整的使用方法示例

目录结构:

<template>
  <div>
    <h2>测试页面</h2>
    <h4>{{value}}</h4>
  </div>
</template>
 
<script>
  import dispatchEventStroage from '@/utils/tools'
export default {
  data () {
    return {
      value:"000",
      num:1
    }
  },
  mounted () {
    let _this = this
    dispatchEventStroage("title")
    window.addEventListener("setItemEvent", function (e) {
    if (e.key === "title") {
      console.log(e.newValue)
      _this.value = e.newValue
    }
  })
    setInterval(()=>{
      this.num += 1
      localStorage.setItem("title",this.num);
    },1000)
  }
}
</script>
 
<style>
</style>

到此这篇关于监听localStorage的变化的文章就介绍到这了,更多相关监听localStorage的变化内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: JS组件封装之监听localStorage的变化

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

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

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

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

下载Word文档
猜你喜欢
  • JS组件封装之监听localStorage的变化
    前言: 由于在平时开发中,经常或不经常的用到一些功能或插件或函数,回头找起来还挺麻烦,我的想法是我直接将他们全部的封装成一个个的组件,做到“”拿来即用&ldq...
    99+
    2024-04-02
  • Vue中localStorage的用法和监听localStorage值的变化
    目录localStorage APIsetItem()getItem()removeItem()clear()key()在vue中实现监听localstorage中某个键对应的值的变...
    99+
    2023-05-16
    localStorage的用法 监听 localStorage值的变化
  • 前端项目中监听localStorage的变化
    目录背景解题思路第一种:storageEvent第二种:封装localStroage背景 前几天有位兄弟问我,如何去监听localStorage的变化呢??我确实是没遇到过这种场景,...
    99+
    2024-04-02
  • Vue子组件监听父组件值的变化
    目录子组件监听父组件值变化子组件监听父组件的值同步更新数据子组件监听父组件值变化 子组件中利用watch监听父组件值的变化 // 子组件 props: ["a"],     watc...
    99+
    2024-04-02
  • Android 之 监听 EditText 的内容变化
    本节引言: 在前面我们已经学过EditText控件了,本节来说下如何监听输入框的内容变化! 这个再实际开发中非常实用,另外,附带着说下如何实现EditText的密码可见与不可见! 1.监听EditText的内容变化 由题可知,是基于监...
    99+
    2023-08-31
    android java android studio
  • JS组件之bootstrap treegrid组件封装的示例分析
    小编给大家分享一下JS组件之bootstrap treegrid组件封装的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!...
    99+
    2024-04-02
  • golang监听文件变化的实例
    废话不多说,直接上官网demo package main import ( "log" "github.com/fsnotify/fsnotify" ) func main(...
    99+
    2024-04-02
  • vue组件props属性监听不到值变化问题
    目录props属性监听不到值变化问题props监听变化的几种方式应用场景1.computed 计算属性2.methods 方法3.watch 侦听器props属性监听不到值变化问题 ...
    99+
    2024-04-02
  • js如何监听input输入框值的实时变化
    这篇文章给大家分享的是有关js如何监听input输入框值的实时变化的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、在元素上同时绑定 oninput 和onporpertycha...
    99+
    2024-04-02
  • JS组件封装的示例分析
    这篇文章主要介绍了JS组件封装的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、扩展已经存在的组件1、需求背景很多时候,我们使用j...
    99+
    2024-04-02
  • VUE监听窗口变化事件的示例分析
    这篇文章将为大家详细讲解有关VUE监听窗口变化事件的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Vuejs 本身就是一个 MVVM 的框架。但是在监听 wind...
    99+
    2024-04-02
  • 使用golang怎么对文件的变化进行监听
    本篇文章为大家展示了使用golang怎么对文件的变化进行监听,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。package mainimport ("log"&...
    99+
    2023-06-14
  • 关于Vue不能监听(watch)数组变化的解决方法
    目录一、vue监听数组 二、vue无法监听数组变化的情况 一、vue监听数组 vue实际上可以监听数组变化,比如 data () { return { watchA...
    99+
    2024-04-02
  • Java实现监听文件变化的三种方案详解
    目录背景方案一:定时任务 + File#lastModified方案二:WatchService方案三:Apache Commons-IO小结背景 在研究规则引擎时,如果规则以文件的...
    99+
    2024-04-02
  • Vue2中无法监听数组和对象的某些变化问题
    目录一、数组1. 不能监听的情况2. 替代做法3. 注意二、对象1. 不能监听的情况2. 替代做法三、分析 vue 2 无法监听数组和对象的这些变化的原因1. 对于数组2. 对象四、...
    99+
    2024-04-02
  • React在组件中如何监听redux中state状态的改变
    目录在组件中监听redux中state状态的改变解决方式React和redux的状态处理在组件中监听redux中state状态的改变 解决方式 1、在组件中引入store 2、在co...
    99+
    2022-11-13
    React组件 监听state的改变 监听redux中state改变
  • Vue封装组件利器之$attrs、$listeners的使用
    目录前言$attrs例子:$listeners (官网解释)使用场景总结前言 多级组件嵌套需要传递数据时,通常使用的方法是通过vuex。但仅仅是传递数据,不做中间处理,使用 vuex...
    99+
    2024-04-02
  • PHP中封装性的代码复用和组件化
    在开发过程中,我们经常会遇到代码重复的问题。为了提高代码的复用性和可维护性,我们可以使用封装性的代码复用和组件化的方法。封装性的代码复用指的是将一段常用的代码块封装成一个函数或类,以便在其他地方多次使用。例如,我们经常会使用数据库连接,并执...
    99+
    2023-10-21
    代码复用 封装 组件化
  • vue中如何实现组件内监控$store中定义变量的变化
    这篇文章将为大家详细讲解有关vue中如何实现组件内监控$store中定义变量的变化,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。// 1.采用计算属性来获取$store中...
    99+
    2024-04-02
  • vue App.vue中公共组件改变值触发其他组件或.vue页面监听的示例分析
    这篇文章主要为大家展示了“vue App.vue中公共组件改变值触发其他组件或.vue页面监听的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue A...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作