博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
$store.getters调用不执行
阅读量:4326 次
发布时间:2019-06-06

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

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

 

 

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

 

转载于:https://www.cnblogs.com/s313139232/p/10985831.html

你可能感兴趣的文章
几款流行的ipad上的PDF阅读器评测
查看>>
H5 表单标签
查看>>
su 与 su - 区别
查看>>
C语言编程-9_4 字符统计
查看>>
在webconfig中写好连接后,在程序中如何调用?
查看>>
限制用户不能删除SharePoint列表中的条目(项目)
查看>>
【Linux网络编程】使用GDB调试程序
查看>>
feign调用spring clound eureka 注册中心服务
查看>>
RotateCard(自定义旋转view)
查看>>
通过tomcat配置solr 4.10.3
查看>>
ZT:Linux上安装JDK,最准确
查看>>
LimeJS指南3
查看>>
关于C++ const成员的一些细节
查看>>
《代码大全》学习摘要(五)软件构建中的设计(下)
查看>>
防止恶意登录的设计思路
查看>>
Swift新手教程3-字符串String
查看>>
three.js 来源目光(十三)Math/Ray.js
查看>>
appserv+win8
查看>>
Matlab画图-非常具体,非常全面
查看>>
配置Log4j(非常具体)
查看>>