位置: 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开发环境和生产环境域名配置)

  • 税金及附加是负债类吗
  • 企业所得税如何申报操作
  • 土地增值税税率2023
  • 核定征收企业股权转让的个人所得税
  • 税费返还计入什么费用
  • 即征即退收入要交税吗
  • 员工的生日津贴怎么发
  • 税务局三代手续费政策
  • 增值税专用发票可以开电子发票吗
  • 财付通转账手续费多少
  • 非税收入包括哪些项目行政事业性收费
  • 不合格发票入账责任
  • 会计凭证如何填写
  • 购销合同没有约定期限
  • 多出来的费用
  • 收到分包工程发票怎么做分录
  • 房地产企业工程款支付流程
  • 增值税普票未上传怎么办
  • 公司还法人借款网银转账
  • 净利润亏损怎么结转
  • 发票为什么会查不到信息
  • 电子发票缩小多少比例打印
  • 增值税专票盖章正确位置
  • 到底如何理解参数方程
  • 收据能不能做账
  • 审计报告的二维码扫出来是什么
  • 2021年购买车辆的进项税能抵扣吗
  • 小规模纳税人缴税计算
  • 无形资产研发支出适用于税前加计扣除的政策
  • 1697510728
  • 公司投资理财产品
  • 交割单和对账单一样吗
  • 如何在旧的php系统中删除
  • Windows10如何禁止电脑自动安装软件
  • 不符合条件的数据
  • 以经营租赁方式租入的设备要折旧吗
  • 消费税有减免政策吗
  • Win10 KB5005033 给某些用户带来了新问题的解决方法
  • 单位话费谁负责交
  • 年营业收入平均增长
  • 八仙花的养殖方法冬季怎么养
  • vue实现鼠标悬浮 显示全部内容
  • web前端期末大作业源代码
  • uniapp按钮
  • 计提费用收到发票后会计分录
  • web课程设计模板
  • 美团收购联联
  • 一般纳税人两费附加减免规定
  • 总分公司汇总申报计算
  • 数据源suspended
  • MySQL中distinct与group by之间的性能进行比较
  • SQL Server 2008 R2 超详细安装图文教程
  • 非正常损失的货物
  • 印花税每月未计提怎么办
  • 增值税税率调整后,合同价应该调整吗
  • 施工期间水电费没有发票财务不给报销
  • windows延缓写入失败怎么修复
  • win8.1怎么重新装系统
  • win8还能用吗
  • 如何看xp系统
  • linux建立动态库链接
  • win7系统笔记本怎么连接wifi
  • ttf文件安装到电脑
  • win10系统下如何安装谷歌浏览器插件?win10系统下谷歌浏览器插件的安装方法图文教程
  • linux常用命令查看
  • win10系统注册名修改
  • windows10电量图标消失了怎么还原
  • cocos2d android 游戏开发学习——CCAction(二)
  • Node.js中的什么模块是用于处理文件和目录的
  • python+django
  • node js官网
  • eclipse出现an error has occurred
  • python坑人代码
  • js弹出div出现遮罩层
  • string和stringbuffer创建后都可以修改
  • 东莞市官网
  • 江西省税务局发票查询系统
  • 重庆税务局发票作废
  • 税票开户银行怎么填写?
  • 德州市国土自然资源局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设