Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

vue监听localstorage变化

作者:狂神战天   发布日期:2025-07-26   浏览:96

// 在 Vue 组件中监听 localStorage 变化

export default {
  mounted() {
    // 监听 storage 事件,当其他标签页或窗口中的 localStorage 发生变化时触发
    window.addEventListener('storage', this.handleStorageChange);
  },
  beforeDestroy() {
    // 组件销毁前移除事件监听器,防止内存泄漏
    window.addEventListener('storage', this.handleStorageChange);
  },
  methods: {
    handleStorageChange(event) {
      // event.key 是发生变化的键名
      // event.newValue 是新的值
      // event.oldValue 是旧的值
      console.log('LocalStorage changed:', event);

      // 根据需要处理变化
      if (event.key === 'someKey') {
        // 执行相应的操作
        console.log('The value of "someKey" has changed to:', event.newValue);
      }
    }
  }
}

解释说明:

  1. mounted() 钩子:在组件挂载后,添加 storage 事件监听器。当其他浏览器标签页或窗口中的 localStorage 发生变化时,会触发该事件。
  2. beforeDestroy() 钩子:在组件销毁前移除事件监听器,防止内存泄漏。
  3. handleStorageChange(event) 方法:当 localStorage 发生变化时,该方法会被调用,并接收一个 event 对象。你可以通过 event.keyevent.newValueevent.oldValue 来获取变化的详细信息。
  4. 注意事项storage 事件只能捕获其他标签页或窗口中的 localStorage 变化,无法捕获当前页面对 localStorage 的修改。

上一篇:vue filter函数的用法

下一篇:vue nginx部署

大家都在看

vue.config.js configu

node.js vue

vue 图表组件

vue3watch监听多个变量

vue查看版本

vue3 reactive对象重新赋值

vue等待几秒

vue3 setup computed

vue screenfull

vue json.stringify

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站