$store.getters调用不执行
2024-10-07 01:57:44
$store.getters调用不执行
api:https://vuex.vuejs.org/zh/guide/getters.html
场景:
在登录时将登录得到的用户信息存储在vuex的state和sessionStorage中。使用时在state中获取,当因为刷新等原因导致state中没有数据时,去sissionStorage中获取。
错误:
登录后,需要获取用户信息时,getters中属性的方法不会执行。只是去getters中获取缓存
解决方法:
将getters中的属性改写成方法,这样每次调用的时候就会执行,去从新获取数据。
getloginInfor: (state) => () => {}
代码:
import Vue from 'vue'
import Vuex from 'vuex' Vue.use(Vuex) export default new Vuex.Store({
state: {
/* 登录用户信息 */
loginInfor: {
}
},
mutations: {
setloginInfor (state, msg) {
state.loginInfor = msg
}
},
actions: { },
getters: {
getloginInfor: (state) => () => {
// 先从state里面获取用户登录信息
let loginInfo = state.loginInfo
// 如果 state 里面获取不到,那么从localStorage里面获取
if (!loginInfo) {
loginInfo = JSON.parse(sessionStorage.getItem('loginInfo'))
}
return loginInfo
}
}
})
使用:
this.$store.getters.getloginInfor()
钻研不易,转载请注明出处。。。。。。
最新文章
- Windows 批处理设置dns ,解决能上qq不能开网页
- HTML5入门以及新标签
- 动态加载js和css
- spring MVC学习笔记
- 硅谷新闻3--使用Android系统自带的API解析json数据
- LeetCode - 413. Arithmetic Slices - 含中文题意解释 - O(n) - ( C++ ) - 解题报告
- AppInventor学习笔记(三)——油漆桶应用学习
- wordpress无法安装这个包。: PCLZIP_ERR_MISSING_FILE (-4) : Missing archive file 'C:\WINDOWS\TEMP/wordpress-4.tmp'
- Android中的距离单位
- Oracle Union All 排序
- python递归函数下不能正常使用yield
- Form开发:字段关系-消息-快速编码-参数和系统变量
- 7.java的请求转发和请求重定向
- Datatbel和 string之间的相互转换
- Go 连接 mysql 数据库的简单测试.
- druid数据源连接oracle10g报错:not support oracle driver 1.0
- nagios监控客户端报错/usr/bin/perl^M: bad interpreter: No such file or directory
- ReactiveObjC
- web分页打印
- 关于百度world 编辑器改变上传图片的保存路径图片不显示的问题
热门文章
- php下intval()和(int)转换使用与区别
- __declspec(dllexport)的使用
- golang mysql 如何设置最大连接数和最大空闲连接数
- git远程删除分支后,本地执行git branch -a依然能看到删除分支到底该咋整?
- Cortex-M3 在C中上报入栈的寄存器和各fault状态寄存器
- Oracle 字段监控 ( column monitor)
- Linux的组成
- Delphi组件编辑器
- Android开发 互相调用模式之C#主导
- vim编辑器详解(week1_day3)