千家信息网

vue中怎么实时监听本地存储

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍"vue中怎么实时监听本地存储",在日常操作中,相信很多人在vue中怎么实时监听本地存储问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"vue中怎么实时监
千家信息网最后更新 2026年11月01日vue中怎么实时监听本地存储

这篇文章主要介绍"vue中怎么实时监听本地存储",在日常操作中,相信很多人在vue中怎么实时监听本地存储问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"vue中怎么实时监听本地存储"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

如何实时监听本地存储

在main.js中

Vue.prototype.$addStorageEvent = function (type, key, data) {  if (type === 1) {  // 创建一个StorageEvent事件  var newStorageEvent = document.createEvent('StorageEvent');  const storage = {      setItem: function (k, val) {          localStorage.setItem(k, val);          // 初始化创建的事件          newStorageEvent.initStorageEvent('setItem', false, false, k, null, val, null, null);          // 派发对象          window.dispatchEvent(newStorageEvent);      }  }  return storage.setItem(key, data);} else {  // 创建一个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, data);}}

想要的时候触发

this.$addStorageEvent(2, "butCountNum", this.butCount);

在mouted钩子函数中进行监听

window.addEventListener('setItem', (e) => {      if(e.key === "butCountNum"){          //写逻辑      }

vue监听数据变化

监听数据变化,在Vue中是通过侦听器来实现的,你也可以将它理解为监听器,时刻监听某个数据的变化。

watch的基本用法

在之前我们在js中添加了data、methods,这一次我们要添加的是watch属性。下面我们先来眼熟一下侦听器的添加位置:

一个简单的例子:

侦听器更多的是用在异步操作中,所谓异步操作就是数据返回有所延迟的操作,比如说我们要请求后端的接口,接口会返回给我们数据,然后我们再将数据渲染在页面上。

从请求接口到返回数据,这中间需要一定的时间,此时我们就可以用侦听器来侦听返回的数据,当数据返回以后,我们再触发渲染。

模拟一个伪异步操作:

此时你就会发现,当你在input输入框中输入文字以后,p标签内的数据不是立马改变,而是过三秒才会去渲染。

获取前一次的值

在某些场景中,我们会需要上一次的数据,此时,侦听器就可以给我们两个值,旧值和新值。

在上一个案例的基础上,我们只需要添加一个参数,即可获取旧值,代码如下:

watch:{    inputValue(value,oldValue) {        // 第一个参数为新值,第二个参数为旧值,不能调换顺序        console.log(`新值:${value}`);        console.log(`旧值:${oldValue}`);    }}

handler方法和immediate属性

前面我们已经知道,当我们侦听的值没有发生改变的时候,是不会触发侦听器的,并且,页面第一次渲染的时候也不会触发侦听器。

但是现在我有个需求就是要让页面第一次渲染的时候就去触发侦听器呢?

此时就要用到一个方法和一个属性。

deep 深度侦听

所谓深度侦听就是侦听对象内部属性的值。

我们之前用的侦听器都只能侦听一个变量的变化,(重点看一下代码中的注释)例如:

data:{    return {        // 字符串发生变化,可以侦听        firstName: 'Su',        room:{            name:"大床房",            // 当房号发生变化的时候,侦听器并不能侦听到。            // 因为侦听器只侦听到room,不能侦听number或者name            number: 302        }    }},

此时我们就需要深度侦听。

深度侦听在代码上并不难实现,只需要在handler的基础上添加一个deep属性,代码如下:

watch:{    room:{        handler(newRoom,oldRoom){            console.log("房间号发生了变化")        },        deep: true    }}

案例:使用侦听器和定时器实现伪模糊搜索

到此,关于"vue中怎么实时监听本地存储"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

侦听器 数据 监听 变化 大学 实时 存储 属性 时候 事件 代码 方法 深度 页面 学习 参数 对象 就是 接口 更多 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 美国互联网保险保险科技 A股互联网金融科技公司 九亚互联网科技 深圳天众互联网科技公司 甘肃拓世互联网科技有限公司 衡水科技产业互联网平台 须眉科技是互联网公司吗 恒银科技与互联网金融 受益于互联网科技的高速发展 苏州五指互联网络科技有限 想开互联网科技公司怎么样 互联网金融科技元年 江苏苏星互联网科技有限公司 云南省自由互联网科技有限公司 杭州披云加互联网科技有限公司 浙南科技城互联网大厦招聘 有人说阿里系是互联网科技企业 山东大美朱楼互联网科技有限公司 上海乐五互联网科技有限公司 信承诺互联网科技有限公司 科技信息互联网 银优互联网科技有限公司 沃里互联网科技 广州紫鲸互联网科技 互联网科技公司招聘 佛山市翊博互联网络科技有限公司 江苏互联网智能科技软件 互联网科技职业技能培训学校 优雇互联网科技有限公司 宁波允成互联网科技有限公司
0