vuex+localstorage动态监听storage步骤详解

这次给大家带来vuex+localstorage动态监听storage步骤详解,vuex+localstorage动态监听storage步的注意事项有哪些,下面就是实战案例,一起来看一下。

分析:vue无法监听localstorage的变化。localstorage主要用于不同页面间传值,vue适合组件间传值。对于组件间共用同一数据又想保存住信息或者再页面刷新的时候不丢失数据(vuex在页面刷新的时候存储的值会丢失,localstorage存储在本地浏览器中),可以采用vuex+localstorage的方式。

关于vuex和storage的区别

1.最重要的区别:vuex存储在内存,localstorage则以文件的方式存储在本地

2.应用场景:vuex用于组件之间的传值,localstorage则主要用于不同页面之间的传值。

3.永久性:当刷新页面时vuex存储的值会丢失,localstorage不会。

注:很多同学觉得用localstorage可以代替vuex, 对于不变的数据确实可以,但是当两个组件共用一个数据源(对象或数组)时,如果其中一个组件改变了该数据源,希望另一个组件响应该变化时,localstorage无法做到,原因就是区别1。

关于vuex参考文档:http://vuex.vuejs.org/zh-cn/index.html

实现过程:以首页展示用户头像信息,修改个人信息在公共组件头部组件中为例,当用户修改个人信息时首页的图片实时变化,如果不对头像信息做存储更新,每次用户修改完只有刷新页面或者从其他页面返回回来才能看到变化,即新设置的头像信息,仅展示核心代码。

1.首先先定义一个变量在state中。State负责存储整个应用的状态数据,后期就可以使用this.$store.state直接获取状态。也可以利用vuex提供的mapState辅助函数将state映射到计算属性中去。

const state = { imgInfo:null //首页头像信息}

登录后复制

2.mutations里面存储localstorage的信息。Mutations可以更改状态,本质就是用来处理数据的函数,其接收唯一参数值state。定义的mutation必须是同步函数。this.$store.commit(mutationName)是用来触发一个mutation的方法,或者使用辅助函数mapMutations直接将触发函数映射到methods上,这样就能在元素事件绑定上直接使用了。

export const SETIMGINFO = 'SETIMGINFO'[SETIMGINFO] (state,info) { state.imgInfo=info localStorage.setItem('imgInfo',info) }

登录后复制

3.getter里面获取localstorage的信息。有些状态需要做二次处理,就可以使用getters。通过this.$store.getters.valueName对派生出来的状态进行访问。或者直接使用辅助函数mapGetters将其映射到本地计算属性中去。

getImgInfo(state){  if(localStorage.getItem('imgInfo')){  state.imgInfo=localStorage.getItem('imgInfo')  }  return state.imgInfo }

登录后复制

4.在需要对storage进行操作的页面引用mapMutations函数

import {mapMutations} from 'vuex' //引入mapMutations ...mapMutations([        'SETIMGINFO'  ]),this.SETIMGINFO(this.imgInfo)  //在需要的地方引用 mutations里面定义的方法

登录后复制

5.在需要获取storage信息的页面引用mapGetters辅助函数

import {mapGetters} from 'vuex'computed:{  ...mapGetters([     'getImgInfo'  ]) },watch:{ //动态监听state的变化,实时改变页面的数据  getImgInfo: function(li) { //li就是改变后的state里面的imgInfo  let vm = this;   this.imgInfo=li //data声明一个变量,在html引用。如果storage的值发生变化就实时刷新变量的值。  } },

登录后复制

6.模板中对vuex的值的引用

vuex+localstorage动态监听storage步骤详解 //三元不等式,如果state发生变化有值就赋值给img标签,如果没有即刚进页面就赋值给create生命周期函数中从接口读出来的数据

登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

Node.Js实现端口重用步骤详解

Vue.js双向绑定实现步骤说明

以上就是vuex+localstorage动态监听storage步骤详解的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2761958.html

(0)
上一篇 2025年3月8日 09:42:51
下一篇 2025年3月7日 07:04:03

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • ES6实现全屏滚动插件步骤详解

    这次给大家带来ES6实现全屏滚动插件步骤详解,ES6实现全屏滚动插件使用的注意事项有哪些,下面就是实战案例,一起来看一下。 1)前面的话 现在已经有很多全屏滚动插件了,比如著名的 fullPage ,那为什么还要自己造轮子呢? 现有轮子有以…

    2025年3月8日
    200
  • vue-cli创建项目步骤详解

    这次给大家带来vue-cli创建项目步骤详解,vue-cli创建项目的注意事项有哪些,下面就是实战案例,一起来看一下。 使用npm 与vue-cli 构建vue 项目 第一步:安装运行环境(node与npm) nodeJ官网:http://…

    2025年3月8日 编程技术
    200
  • vue中模态对话框组件实现步骤详解

    这次给大家带来vue中模态对话框组件实现步骤详解,vue中模态对话框组件实现的注意事项有哪些,下面就是实战案例,一起来看一下。 写在前面 对话框是很常用的组件 , 在很多地方都会用到,一般我们可以使用自带的alert来弹出对话框,但是假如是…

    2025年3月8日
    200
  • vue绑定id从列表页跳转至详情页步骤详解

    这次给大家带来vue绑定id从列表页跳转至详情页步骤详解,vue绑定id从列表页跳转至详情页的注意事项有哪些,下面就是实战案例,一起来看一下。 1. 列表页:列表页带id跳转到详情页 详情页:把id传回到后台就可以获取到数据了 2.列表页跳…

    2025年3月8日 编程技术
    200
  • Vue项目中使用Vux安装配置步骤详解

    这次给大家带来Vue项目中使用Vux安装配置步骤详解,Vue项目中使用Vux安装配置的注意事项有哪些,下面就是实战案例,一起来看一下。 默认已安装vue环境 1.安装vux npm install vux –save-dev 2…

    2025年3月8日
    200
  • 调用缓存实现JS方法步骤详解

    这次给大家带来调用缓存实现JS方法步骤详解,调用缓存实现JS方法的注意事项有哪些,下面就是实战案例,一起来看一下。 1.什么是方法重载 方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。简而言之就是:…

    编程技术 2025年3月8日
    200
  • vue2.0+插件使用npm发布步骤详解

    这次给大家带来vue2.0+插件使用npm发布步骤详解,vue2.0+插件使用npm发布的注意事项有哪些,下面就是实战案例,一起来看一下。 此篇尽量详细,清楚的讲解vue插件的开发到npm的发布,想想将你自己做的东西展示给广大“网民”,心里…

    2025年3月8日 编程技术
    200
  • Vue实现PopupWindow组件使用步骤解析

    这次给大家带来Vue实现PopupWindow组件使用步骤解析,Vue实现PopupWindow组件使用的注意事项有哪些,下面就是实战案例,一起来看一下。 这段时间一直在学习前端技术来完成自己的小项目。在js方面就使用了Vue框架。由于在项…

    2025年3月8日
    200
  • angular路由高亮之实现步骤详解

    这次给大家带来angular路由高亮之实现步骤详解,angular路由高亮实现的注意事项有哪些,下面就是实战案例,一起来看一下。 路由高亮是什么?有什么好处? 当你在做一个后台管理系统,左边是一排路由导航,点击可以进入不同的页面,那么这个路…

    编程技术 2025年3月8日
    200
  • vue弹窗组件使用步骤详解

    这次给大家带来vue弹窗组件使用步骤详解,vue弹窗组件使用的注意事项有哪些,下面就是实战案例,一起来看一下。 ys-vue-modal-component p,h4{ margin:0; } .modal{ width: 480px; b…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论