解决$store.getters调用不执行的问题

 更新时间:2019年11月08日 16:01:27   作者:莫小龙  
今天小编就为大家分享一篇解决$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()

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

以上这篇解决$store.getters调用不执行的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Vue slot插槽作用与原理深入讲解

    Vue slot插槽作用与原理深入讲解

    插槽slot可以说在一个Vue项目里面处处都有它的身影,比如我们使用一些UI组件库的时候,我们通常可以使用插槽来自定义我们的内容,这篇文章主要介绍了Vue3中slot插槽使用方式,需要的朋友可以参考下
    2023-01-01
  • vue proxyTable的跨域中pathRewrite配置方式

    vue proxyTable的跨域中pathRewrite配置方式

    这篇文章主要介绍了vue proxyTable的跨域中pathRewrite配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • Vue项目中v-bind动态绑定src路径不成功问题及解决

    Vue项目中v-bind动态绑定src路径不成功问题及解决

    这篇文章主要介绍了Vue项目中v-bind动态绑定src路径不成功问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • 详解Vue 全局变量,局部变量

    详解Vue 全局变量,局部变量

    这篇文章主要介绍了Vue全局变量局部变量,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • 在vue+element-plus中无法同时使用v-for和v-if的问题及解决方法

    在vue+element-plus中无法同时使用v-for和v-if的问题及解决方法

    由于路由中存在不需要遍历的数据所以像用v-if来过滤,但是报错,百度说vue不能同时使用v-if和v-for,今天小编给大家分享解决方式,感兴趣的朋友跟随小编一起看看吧
    2023-07-07
  • 解决axios:"timeout of 5000ms exceeded"超时的问题

    解决axios:"timeout of 5000ms exceeded"

    这篇文章主要介绍了解决axios:"timeout of 5000ms exceeded"超时的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • uniapp使用uview的简单案例

    uniapp使用uview的简单案例

    uView是uni-app生态专用的UI框架,uni-app 是一个使用 Vue.js 开发所有前端应用的框架,这篇文章主要给大家介绍了关于uniapp使用uview的简单案例,需要的朋友可以参考下
    2023-03-03
  • vue3.0安装Element ui及矢量图使用方式

    vue3.0安装Element ui及矢量图使用方式

    这篇文章主要介绍了vue3.0安装Element ui及矢量图使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • Vue中父子组件通信与事件触发的深入讲解

    Vue中父子组件通信与事件触发的深入讲解

    组件是Vue核心功能之一,合理的组件化,可以减少我们代码的冗余,提高项目的可维护性,下面这篇文章主要给大家介绍了关于Vue中父子组件通信与事件触发的相关资料,需要的朋友可以参考下
    2022-03-03
  • element-ui循环显示radio控件信息的方法

    element-ui循环显示radio控件信息的方法

    今天小编就为大家分享一篇element-ui循环显示radio控件信息的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08

最新评论