vue,监听sessionStorage的数据改变

2023-10-29

vue项目中,监听sessionStorage的数据改变

需求:父组件中的随时可能改变的数据是缓存到sessionStorage里面的,子组件需要通过这个改变的数据,随时进行数据更新。

  1. 监听父组件的数据变化并更新缓存
    vue中监听数据变化,在watch中写如下函数:
    watch: {
    date: function(newdate, olddate) {
    this.CurentTime(newdate)
    var date = this.CurentTime(newdate)
    sessionStorage.setItem(’_date_str’, date)
    this.resetSetItem(‘watchStorage’, date)
    }
    },
    在这里插入图片描述
  2. 子组件中,接收该数据
    _this.time = sessionStorage.getItem(’_date_str’)在这里插入图片描述
  3. 需要监听sessionStorage中的数据,要在main.js中写如下的代码
    在这里插入图片描述
    // 保存整站vuex本地储存初始状态
    window.SITE_CONFIG[‘storeState’] = cloneDeep(store.state)
    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);
    }
    }
  4. 在需要监听sessionStorage的组件中的create生命周期中,进行监听
    在这里插入图片描述
    created () {
    window.addEventListener(‘setItem’, ()=> {
    this.newVal = sessionStorage.getItem(‘watchStorage’)
    this.time = this.newVal
    })
    },
    这样就可以监听到每一次数据变化,并进行相关的数据变换的操作啊
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue,监听sessionStorage的数据改变 的相关文章

随机推荐

  • Rocky9 KVM网桥的配置

    KVM的默认网络模式为NAT 借助宿主机模式上网 现在我们来改成桥接模式 这样外界就可以直接和宿主机里的虚拟机通讯了 Bridge方式即虚拟网桥的网络连接方式 是客户机和子网里面的机器能够互相通信 可以使虚拟机成为网络中具有独立IP的主机
  • vue3使用高德地图api,海量点,多边形围栏,热力图,轨迹线(一)

    首先在项目中引入高德地图 这个就不详细教了 官方文档都有教程 这里讲如何在页面中使用各种api方法 一 初始化map对象 首先在页面初始化时创建地图map对象 保存这个map对象 后面的所有api方法都要用到这个map对象 以下是初始化ma
  • java-maven3.6.3安装及配置

    注 以下以本人安装过程为例 1 maven3 6 3下载地址 https archive apache org dist maven maven 3 3 6 3 binaries 其他版本可在目录中寻找 2 按下图所示操作 新建 maven
  • 单电源转正负电源的实现方式

    采用TPS5430将单电源转换成双电源的方式供电 亲测有效 具体实现电路如下图
  • 流程设计

    上图为流程设计器的主界面 左边栏目为树形结构 提供两种树形 一个为流程定义的分类的树形 另外一个为根据模块菜单的树形 功能描述 1 新增 新增功能主要处理定义的工作流程的建立 2 删除 删除定义的工作流 注意 删除只能删除处于设计状态的工作
  • ssm整合中各个配置类的内容及注解详解

    文章目录 1 配置类 1 JdbcConfig 2 SpringConfig 3 SpringMvcConfig 4 ServletConfig 5 MyBatisConfig 6 SpringMvcSupport 1 配置类 1 Jdbc
  • vscode配置C/C++简单环境

    官网下载vscode 官网下载mingw编译器 安装c c 扩展 我安装了1 8 4版本 会自动生成task json lauch json文件 VScode打开一个文件夹就相当于一个项目 然后新建 cpp f5运行 会提示选择环境变量中的
  • MYSQL常用命令大全

    文章目录 基本语句 explain关键字 链接数据库 显示已有数据库 创建数据库 选择数据库 显示数据库中的表 显示当前数据库的版本信息 链接用户名 删除数据库 创建表 表 增加 将查询结果插入到新表中 表 删除 表 修改 表 查
  • springboot application 配置

    springboot项目默认启动端口是8080 下面更改端口到8081 server port 8081 配置项 springboot官方提供的配置项 SpringBoot程序可以在application properties文件中进行属性
  • vue上传文件纯前端实现进度条

    效果 代码
  • Python爬虫:收集食谱和烹饪指南的完整教程

    目录 第一步 确定目标食谱和烹饪指南网站 第二步 安装必要的库
  • fairseq常用的命令行参数

    fairseq train tensorboard logdir 可视化训练过程 keep last epochs 10 默认保存最后10个epoch eval bleu 在验证阶段评估bleu eval bleu args beam 5
  • JDBC连接Mysql 8.0.12版本的几个注意事项

    先说Mysql的下载 大家可以下载5 X版本的 因为教材和大多教学资料都是5 X版本的 5 X不用考虑以下三个事项 如果你想下载最新8 0 12版本的 这里直接给你们附上地址 因为官网找着也挺麻烦的 https dev mysql com
  • Java中的Type类型详解

    图片来自必应 在Java中 泛型与反射是两个重要的概念 我们几乎能够经常的使用到它们 而谈起Type 如果有人还比较陌生的话 那么说起一个它的直接实现类 Class的话 大家都应该明白了 Type是Java语言中所有类型的公共父接口 而这篇
  • assemble language学习(-)

    不容易 终于将第一个简单的arm assemble Language程序跑通了 1 创建project 选择stm32407ve 2 添加汇编启动文件start s STACK TOP EQU 0x20002000 AREA RESET C
  • linux 添加网卡

    ifconfig eth0 xxx xxx xxx xxx route add net xxxx xxxx xxx 0 route add default gw xxxx xxxx xxxx
  • torch.device用法总结

    torch device用法总结 1 通过字符串构造设备 2 通过字符串 序号构造设备 3注意事项 3 1可直接使用字符串构建 3 2 有cuda的也可直接输入序号 3 3 以下示例均等效 torch device代表将torch Tens
  • 利用Socket实现登录小demo

    客户端代码 package com lsc test01 import java io DataInputStream import java io IOException import java io ObjectOutputStream
  • MarkText下载安装与初始设置 免费markdown的工具

    下载MarkText MaxText win64 https github com marktext marktext releases download v0 17 1 marktext setup exe MaxText macOS h
  • vue,监听sessionStorage的数据改变

    vue项目中 监听sessionStorage的数据改变 需求 父组件中的随时可能改变的数据是缓存到sessionStorage里面的 子组件需要通过这个改变的数据 随时进行数据更新 监听父组件的数据变化并更新缓存 vue中监听数据变化 在