$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. 尚学堂requireJs课程---3、私有和公有属性和方法

    尚学堂requireJs课程---3.私有和公有属性和方法 一.总结 一句话总结: 在 [模块] 的基础上,在return对象里面的方法和属性就是公有的(因为外部可以访问),不在的就是私有的 < ...

  2. [学习笔记] Uplift Decision Tree With KL Divergence

    Uplift Decision Tree With KL Divergence Intro Uplift model 我没找到一个合适的翻译,这方法主要应用是,探究用户在给予一定激励之后的表现,也就是 ...

  3. Vue踩坑系列

    前言 前端开发对于vue的使用已经越来越多,它的优点就不做介绍了, 本篇是我对vue使用过程中遇到的问题中做的一些总结,帮助大家踩坑.如果喜欢的话可以点波赞,或者关注一下,希望本文可以帮到大家!!! ...

  4. vue 运用ElementUI,做select下拉框回显

    第一.加载的顺序,应该先加载下拉框要选择的数据,然后在通过编辑查询数据后回显. 第二.要保证select下拉的ID和v-model里边的id保持一致. 第三.elementUI就会自动的将数据回显了. ...

  5. Servlet 表单数据 接收get post 参数实例

    Servlet 表单数据 很多情况下,需要传递一些信息,从浏览器到 Web 服务器,最终到后台程序.浏览器使用两种方法可将这些信息传递到 Web 服务器,分别为 GET 方法和 POST 方法. GE ...

  6. C++ 学习笔记整理

    目录 STL 容器 set的用法简介 unordered_set 变量类型转换 stringstream 类型转换 数据结构 哈希表 日常小技巧 C++输入输出流加速器,关闭同步流,ios::sync ...

  7. 5、kubernetes资源清单定义入门

    使用配置清单创建资源 定义pod时使用yaml格式 master ~]# kubectl get pod NAME READY STATUS RESTARTS AGE client / Error 1 ...

  8. Memtest86+ 5.0.1系统设置

    Settings: (1) Test Selection (测试选择) > (1) Default Tests (2) Skip Current Test (3) Select Test (4) ...

  9. Win10+GPU版Pytorch1.1安装

    环境配置篇 安装cuda 更新nvidia驱动 打开GeForce Game Ready Driver或在 GeForce Experience中下载符合自己gpu的程序. 选择cuda 打开nvid ...

  10. 【JVM学习笔记】双亲委托机制存在的意义

    1.可以确保Java核心库的类型安全:所有的Java应用都至少会引用java.lang.Object类,也就是说在运行期,java.lang.Object这个类会被加载到Java虚拟机:如果用户自定义 ...