$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()

钻研不易,转载请注明出处。。。。。。

最新文章

  1. Windows 批处理设置dns ,解决能上qq不能开网页
  2. HTML5入门以及新标签
  3. 动态加载js和css
  4. spring MVC学习笔记
  5. 硅谷新闻3--使用Android系统自带的API解析json数据
  6. LeetCode - 413. Arithmetic Slices - 含中文题意解释 - O(n) - ( C++ ) - 解题报告
  7. AppInventor学习笔记(三)——油漆桶应用学习
  8. wordpress无法安装这个包。: PCLZIP_ERR_MISSING_FILE (-4) : Missing archive file 'C:\WINDOWS\TEMP/wordpress-4.tmp'
  9. Android中的距离单位
  10. Oracle Union All 排序
  11. python递归函数下不能正常使用yield
  12. Form开发:字段关系-消息-快速编码-参数和系统变量
  13. 7.java的请求转发和请求重定向
  14. Datatbel和 string之间的相互转换
  15. Go 连接 mysql 数据库的简单测试.
  16. druid数据源连接oracle10g报错:not support oracle driver 1.0
  17. nagios监控客户端报错/usr/bin/perl^M: bad interpreter: No such file or directory
  18. ReactiveObjC
  19. web分页打印
  20. 关于百度world 编辑器改变上传图片的保存路径图片不显示的问题

热门文章

  1. php下intval()和(int)转换使用与区别
  2. __declspec(dllexport)的使用
  3. golang mysql 如何设置最大连接数和最大空闲连接数
  4. git远程删除分支后,本地执行git branch -a依然能看到删除分支到底该咋整?
  5. Cortex-M3 在C中上报入栈的寄存器和各fault状态寄存器
  6. Oracle 字段监控 ( column monitor)
  7. Linux的组成
  8. Delphi组件编辑器
  9. Android开发 互相调用模式之C#主导
  10. vim编辑器详解(week1_day3)