博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vuex中store保存的数据,刷新页面会清空
阅读量:4626 次
发布时间:2019-06-09

本文共 1329 字,大约阅读时间需要 4 分钟。

用vuex,项目中需要记录一些状态,来判断页面是否为登录状态和页面是否可被编辑,此时用到了vuex中的store来存储一个状态。

//首先 安装vuexnpm install vuex --save  //新建一个store文件夹,并在里面创建一个index.js文件,并导入import Vue from 'vue'import Vuex from 'vuex'Vue.use(Vuex)const store = new Vuex.Store({    state:{        //id        skillId:'',        //技能状态        checkStatus:''    }})export default store

这里记录了两个值一个是id一个是状态值checkStatus,然后把创建的store在main.js里导入

import store from "./store"//vuex

至此,我们可以在所需要的vue文件中为其赋值

this.$store.state.skillId = '需要记录的id'//技能状态this.$store.state.checkStatus = '需要记录的状态'

赋值后,就可以在需要用到这些id和状态的vue文件中取值

'自己定义的变量名' = this.$store.state.checkStatus
现在,skillId和checkStatus相当于两个全局变量,可以在需要的页面获取值和更改值。但有一个严重的问题就是,在我们刷新页面的时候,vuex数据是重新初始化,无法获取的,导致出现了空值。
但这不是自己想要的结果,所以百度了一圈( , ),找到了解决办法。
更改store文件下index文件state的定义
const store = new Vuex.Store({    state:sessionStorage.getItem('state') ? JSON.parse(sessionStorage.getItem('state')): {        //id        skillId:'',        //技能状态        checkStatus:''    }})

以及在App.vue中添加

mounted() {            window.addEventListener('unload', this.saveState)        },        methods: {            saveState() {                sessionStorage.setItem('state', JSON.stringify(this.$store.state))            }        }

也就是说监听unload方法,如果重载页面就把state存入

sessionStorage,然后在需要state的时候从sessionStorage中取值。

转载于:https://www.cnblogs.com/lst619247/p/10690096.html

你可能感兴趣的文章
Leetcode Valid Palindrome
查看>>
PHP不能连接Sqlite3的解决办法:PDO
查看>>
hdu 2063(最大匹配数)
查看>>
hdu 2354(bfs求最短路)
查看>>
【Docker】docker安装GitLab
查看>>
CopyOnWriteArrayList与Collections.synchronizedList
查看>>
互评Alpha版本——Thunder团队
查看>>
點擊按鈕后彈出新頁面導致原頁面CSS失效
查看>>
python--匿名函数、文件操作
查看>>
css第一课
查看>>
KindEditor的简单使用,以及上传图片预览图片,用户删除图片后的数据处理(重点),以及 BeautifulSoup,shutil两模块了解...
查看>>
Oracle数据库之PL/SQL程序设计简介
查看>>
《DSP using MATLAB》Problem 5.32
查看>>
[LeetCode] 96. Unique Binary Search Trees 唯一二叉搜索树
查看>>
[LeetCode] 685. Redundant Connection II 冗余的连接之 II
查看>>
[LeetCode] 843. Guess the Word 猜单词
查看>>
c# 技巧
查看>>
foreach 和 for 循环的区别
查看>>
说话人识别/声纹识别的研究综述(转)
查看>>
如何烧写BIOS到SD卡里面
查看>>