vuex管理状态 刷新页面保持不被清空的解决方案


Posted in Javascript onNovember 11, 2019

mutation文件

import {
 RECEIVE_PUBLICHTIT
} from './mutation-types'
 
//保证刷新页面数据不消失*
function storeLocalStore (state) {
 window.localStorage.setItem("publicTit",JSON.stringify(state));
}
 
export default {
 [RECEIVE_PUBLICHTIT] (state,{title}){
  state.publicTit = title
  storeLocalStore(state)
 }
}

用到publicTit属性的组件

created(){
     localStorage.getItem("publicTit")&&
this.$store.replaceState(JSON.parse(localStorage.getItem("publicTit")))
   },

在created()生命周期中进行取值操作,这时需要判断第一次加载项目的时,localStorage没有publicTit的信息,所以先判断一下

实现思路 让vuex中publicTit的状态和localStorage中保持一致(从localStorage中取值)

优化版:

需要调用属性的组件

created(){
    //在页面加载时读取localStorage状态 复制对象是解决新vuex管理的状态中新添加的字段也可以存入localStorage中
    localStorage.getItem("publicTit") && this.$store.replaceState(Object.assign(this.$store.state,JSON.parse(localStorage.getItem("publicTit"))));
 
    //在页面刷新时将vuex里的信息保存到localStorage里,避免多次调用localStorage进行存储降低性能,beforeunload是在页面刷新之前调用
    window.addEventListener("beforeunload",()=>{
     localStorage.setItem("publicTit",JSON.stringify(this.$store.state))
    })
   }

以上这篇vuex管理状态 刷新页面保持不被清空的解决方案就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript中常用编程知识
Apr 08 Javascript
倒记时60刷新网页的js代码
Feb 18 Javascript
一个JavaScript递归实现反转数组字符串的实例
Oct 14 Javascript
分享一则javascript 调试技巧
Jan 02 Javascript
JavaScript中关联原型链属性特性
Feb 13 Javascript
javascript html5实现表单验证
Mar 01 Javascript
微信小程序 欢迎页面的制作(源码下载)
Jan 09 Javascript
vue.js中过滤器的使用教程
Jun 08 Javascript
关于jQuery里prev()的简单操作代码
Oct 27 jQuery
微信小程序地图导航功能实现完整源代码附效果图(推荐)
Apr 28 Javascript
Angular之jwt令牌身份验证的实现
Feb 14 Javascript
node中使用shell脚本的方法步骤
Mar 23 Javascript
vuex实现数据状态持久化
Nov 11 #Javascript
vue 更改连接后台的api示例
Nov 11 #Javascript
vue路由守卫,限制前端页面访问权限的例子
Nov 11 #Javascript
vue在路由中验证token是否存在的简单实现
Nov 11 #Javascript
vuex存储token示例
Nov 11 #Javascript
Vuex实现数据增加和删除功能
Nov 11 #Javascript
VUE:vuex 用户登录信息的数据写入与获取方式
Nov 11 #Javascript
You might like
深入php list()函数的详解
2013/06/05 PHP
免费手机号码归属地API查询接口和PHP使用实例分享
2014/04/10 PHP
JavaScript中的私有成员
2006/09/18 Javascript
jquery validation插件表单验证的一个例子
2010/03/03 Javascript
网络之美 JavaScript中Get和Set访问器的实现代码
2010/09/19 Javascript
js实现点击链接后延迟3秒再跳转的方法
2015/06/05 Javascript
详解JavaScript ES6中的模板字符串
2015/07/28 Javascript
BootStrap table删除指定行的注意事项(笔记整理)
2017/02/05 Javascript
将jquery.qqFace.js表情转换成微信的字符码
2017/12/01 jQuery
微信小程序用户位置权限的获取方法(拒绝后提醒)
2018/11/15 Javascript
Nuxt.js 数据双向绑定的实现
2019/02/17 Javascript
vue cli 3.x 项目部署到 github pages的方法
2019/04/17 Javascript
快速搭建Node.js(Express)用户注册、登录以及授权的方法
2019/05/09 Javascript
一篇文章弄懂javascript中的执行栈与执行上下文
2019/08/09 Javascript
对Layer弹窗使用及返回数据接收的实例详解
2019/09/26 Javascript
vue中更改数组中属性,在页面中不生效的解决方法
2019/10/30 Javascript
koa中间件核心(koa-compose)源码解读分析
2020/06/15 Javascript
js+canvas实现刮刮奖功能
2020/09/13 Javascript
element-ui封装一个Table模板组件的示例
2021/01/04 Javascript
[59:44]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 paiN vs iG
2018/03/31 DOTA
python中的多线程实例教程
2014/08/27 Python
python入门教程 python入门神图一张
2018/03/05 Python
人脸识别经典算法一 特征脸方法(Eigenface)
2018/03/13 Python
python3 kmp 字符串匹配的方法
2018/07/07 Python
Python线程之定位与销毁的实现
2019/02/17 Python
基于python实现把json数据转换成Excel表格
2020/05/07 Python
解决tensorflow模型压缩的问题_踩坑无数,总算搞定
2021/03/02 Python
HTML高亮关键字的实现代码
2018/10/22 HTML / CSS
什么是serialVersionUID
2016/03/04 面试题
怎么样写好简历中的自我评价
2013/10/25 职场文书
销售主管岗位职责范本
2014/02/14 职场文书
寒山寺导游词
2015/02/03 职场文书
党员评议自我评价
2015/03/03 职场文书
2015圣诞节贺卡寄语
2015/03/24 职场文书
postgresql使用filter进行多维度聚合的解决方法
2021/07/16 PostgreSQL
sass 常用备忘案例详解
2021/09/15 HTML / CSS