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

 更新时间:2019年11月11日 19:29:22   作者:WwangXue  
今天小编就为大家分享一篇vuex管理状态 刷新页面保持不被清空的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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管理状态 刷新页面保持不被清空的解决方案就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 深入探究Vue中三种不同的props用法

    深入探究Vue中三种不同的props用法

    Vue 的核心功能之一在于 props 的使用,props 是我们在 Vue 中从父组件到子组件传递数据的方式,但并非所有 props 都是一样的,本文我们会深入学习这三种不同类型的 props,看看它们有何不同,以及何时使用它们,需要的朋友可以参考下
    2024-03-03
  • vue iview实现动态新增和删除

    vue iview实现动态新增和删除

    这篇文章主要为大家详细介绍了vue iview实现动态新增和删除,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • van-dialog弹窗异步关闭功能-校验表单实现

    van-dialog弹窗异步关闭功能-校验表单实现

    有时候我们需要通过弹窗去处理表单数据,在原生微信小程序配合vant组件中有多种方式实现,其中UI美观度最高的就是通过van-dialog嵌套表单实现,这篇文章主要介绍了van-dialog弹窗异步关闭-校验表单,需要的朋友可以参考下
    2023-11-11
  • 安装多版本Vue-CLI的实现方法

    安装多版本Vue-CLI的实现方法

    这篇文章主要介绍了安装多版本Vue-CLI的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • vue实现三级联动动态菜单

    vue实现三级联动动态菜单

    这篇文章主要为大家详细介绍了vue实现三级联动动态菜单,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • Vue vant使用ImagePreview实现预览图片

    Vue vant使用ImagePreview实现预览图片

    这篇文章主要介绍了Vue vant使用ImagePreview实现预览图片,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • Vue实现星级评价效果实例详解

    Vue实现星级评价效果实例详解

    这篇文章主要介绍了Vue实现星级评价效果的实例代码,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • Vue 中 filter 与 computed 的区别与用法解析

    Vue 中 filter 与 computed 的区别与用法解析

    这篇文章主要介绍了Vue 中 filter 与 computed 的区别与用法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • 使用vue深度选择器修改ElementUI组件内样式的示例代码

    使用vue深度选择器修改ElementUI组件内样式的示例代码

    在带有scoped属性的style中书写样式时,无法作用影响到子组件中的样式,此时我们会使用到deep深度选择器,来解决此问题,我们在使用less预处理器,能正常使用,但是在scss预处理器中会报错,下面通过本文介绍vue深度选择器修改ElementUI组件内样式,需要的朋友可以参考下
    2022-12-12
  • Vue路由切换页面不更新问题解决方案

    Vue路由切换页面不更新问题解决方案

    这篇文章主要介绍了Vue路由切换页面不更新问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07

最新评论