位置: IT常识 - 正文

vue监听缓存数据(localStorage) 中值的更新(vue监听页面加载完毕)

编辑:rootadmin
vue监听缓存数据(localStorage) 中值的更新

推荐整理分享vue监听缓存数据(localStorage) 中值的更新(vue监听页面加载完毕),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue监听缓存变化,vue监听缓存数据变化,vue监听sessionstorage变化,vue监听缓存变化,vue监听后端数据变化,vue监听缓存变化,vue 监听数据,vue监听缓存变化,内容如对您有帮助,希望把文章链接给更多的朋友!

2个vue组件之间数据同步,可以通过监听localStorage数据变化,来改变数据的值。

方法:可以重写localStorage的setItem方法,当调用setItem方法设置新值的时候,会new Event('setItemEvent')   用window.dispatchEvent()这个方法来派发一个事件,让window去监听

以下demo实现的是 一个页面获取诗句  然后将获取的数据用localStorage存储起来  另一个页面进行监听   一旦数据发生改变   则控制台打印  ‘值改变了’  并将新值打印出来

实现步骤:

1.先在src下新建utils文件夹,新建tools.js,写一个dispatchEvent派发事件 如:utils/tools.js

vue监听缓存数据(localStorage) 中值的更新(vue监听页面加载完毕)

代码如下:

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

2.在main.js里面全局引入tools,并use  以便二个vue组件能够触发派发事件

import tools from './utils/tool.js'Vue.use(tool)

3.这里我写了一个index.vue页面   将sendSentences.vue组件和watchSentences.vue组件引进来好看效果

<template> <div> <h3>主页面</h3> <watchSentences/> <sendSentences/> </div></template><script>// import axios from 'axios'import watchSentences from './watchSentences.vue'import sendSentences from './sendSentences.vue'export default { components: { watchSentences, sendSentences }}</script>

4.在一个vue组件当中向localStorage存储数据  这里是将获取到的诗句存储起来

sendSentences.vue组件methods: { getSentences() { axios({ url: 'https://api.apiopen.top/api/sentences' }).then(res => { this.sentencesTitle = res.data.result.from this.sentences = res.data.result.name window.localStorage.setItem('gsStorename', JSON.stringify(this.sentences)) }) } }

5.在另一个vue组件当中监听localStorage数据变化,来赋值,监听要写在mounted ()中,这里将打印‘值改变了’,并将每次变化后的新值打印出来了 代码如下

 watchSentences.vue组件 mounted() { // 监听localhostStorage的数据变化,结合utils/tool.js配合使用 window.addEventListener('setItemEvent', function(e) { const newdata = JSON.parse(e.newValue) console.log('值改变了',newdata) }) }

6.完结

效果:

 

 参考自:vue中通过监听localStorage数据变化,实现2个vue组件之间的数据同步_lizige2008的博客-CSDN博客_localstorage setitem 同步

本文链接地址:https://www.jiuchutong.com/zhishi/298525.html 转载请保留说明!

上一篇:Colossal-AI的安装(ai安装教程2020)

下一篇:vue配置开发环境和生产环境(vue开发环境和生产环境域名配置)

  • 更正申报多交的个税
  • 为什么租赁只能20年
  • 土地以租代卖,违法吗
  • 银行代扣出口快递费用
  • 确认委托代销收入会计分录
  • 企业发生的装修费可以几年摊销
  • 企业所得税预缴可以不交吗
  • 贷款利息可以抵税吗
  • 宽带费增值税
  • 集团内部拆借资金
  • 车辆保养计入什么二级科目
  • 打开我的电脑出现找不到应用程序
  • windows打开文件
  • 一般劳务报酬和其他劳务报酬的区别
  • 人力资源管理师考试时间
  • 税控盘抵减
  • windows 11任务栏没有网络图标
  • 如何在pc桌面上添加文件
  • 在php中,字符串有哪些表示形式
  • 承租人对经营租赁和融资租赁会计处理方式
  • 进项税一定是专票吗
  • 2017年8月21日是什么日子
  • 房产营销策划经典案例
  • 为什么要把收入当成舞弊假定
  • 政府闲置土地
  • 国家税务总局关于个人因解除劳动合同
  • 核心概念英文翻译
  • 桌山 开普敦
  • PHP array_key_exists检查键名或索引是否存在于数组中的实现方法
  • 蓝桥杯真题c语言
  • 企业预付账款属于什么科目
  • 集合框架有何好处
  • 增值税 转出
  • css中权重值是什么意思
  • 无形资产和固定资产减值准备可以转回吗
  • 主营业务成本可以设置二级科目吗
  • wordpress怎么安装插件
  • 用python创建一个列表
  • 建筑业工会经费计提比例
  • 服务器连接db2数据库命令
  • 应付股利是否影响未分配利润
  • 企业所得税汇算表
  • 企业非流动资产包括
  • 新成立公司如何报税
  • 在建工程包括哪些大类科目
  • 银行承兑汇票由谁出票
  • 融资租赁的进项怎么做账
  • 电子承兑汇票转给下家
  • 新成立的公司怎样建账
  • 按照现行会计制度的规定,下列票据中
  • 政府会计制度累计盈余为负数
  • 建筑工程公司收入来源
  • 为什么零售业只进不出呢
  • 转出投资款计入现金流量表的哪里
  • 私营企业固定资产折旧
  • mysql第四章
  • mysql的20条优化方法
  • sql触发器语句
  • AppleMobileDeviceService.exe是什么进程?AppleMobileDeviceService.exe是病毒吗?
  • windows如何设置pin码
  • win7资源管理器频繁崩溃
  • wdsvc.exe - wdsvc 是什么进程
  • steam怎么sl
  • Win10系统如何利用360压缩软件解决打不开RAR压缩包的问题
  • ubuntu安装指南
  • Win10怎么安装软件
  • 电脑已禁用ime是什么
  • cocos2dx 3.17
  • javaweb技术栈是什么
  • tf-idf例题
  • js querySelector() 使用方法
  • ANDROID手机客户端软件开发工程师
  • javascript基础书
  • javascript基础入门视频教程
  • jquery选择器写法
  • 税务评估风险等级是什么
  • 10%加计抵减政策条件
  • 小规模纳税人可以用专票抵扣税吗
  • 税收是初次分配的手段
  • 浙江农村医保手机上怎么缴费
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设