当前位置: 首页 > 编程笔记 >

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

杜良骏
2023-03-14
本文向大家介绍解决$store.getters调用不执行的问题,包括了解决$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调用不执行的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍jQuery Ajax Post 回调函数不执行问题的解决方法,包括了jQuery Ajax Post 回调函数不执行问题的解决方法的使用技巧和注意事项,需要的朋友参考一下 今天在写一个检查用户名的功能时,使用的是jQuery.post( url, [data], [callback], [type] )这个函数,但是发现其中的回调函数不能执行。 先来看看我的代码: 前台代码: 后台

  • 本文向大家介绍解决centos7 开机/etc/rc.local 不执行的问题,包括了解决centos7 开机/etc/rc.local 不执行的问题的使用技巧和注意事项,需要的朋友参考一下 最近发现centos7 的/etc/rc.local不会开机执行,于是认真看了下/etc/rc.local文件内容的就发现了问题的原因了  翻译: 于是我有确认了下/etc/rc.local的权限 /etc/

  • 本文向大家介绍vue.js element-ui validate中代码不执行问题解决方法,包括了vue.js element-ui validate中代码不执行问题解决方法的使用技巧和注意事项,需要的朋友参考一下 先说结论 在自定义验证里面每一个判断都要有callback(),就是要保证callback()一定会执行到 因为要验证数字,参考了官网参考代码如下,发现有如下图bug,当输入为以数字开

  • 本文向大家介绍解决执行docker daemon命令时出错的问题,包括了解决执行docker daemon命令时出错的问题的使用技巧和注意事项,需要的朋友参考一下 最近在工作中遇到了一个问题,在一开始执行docker daemon命令时总是会出错导致进程stop,按照网上的方法在/etc/fstab文件里添加了一行 这时Docker daemon可以起来了,但是有了新的问题——执行docker r

  • 本文向大家介绍解决java执行cmd命令调用ffmpeg报错Concat error - No such filter '[0,0]'问题,包括了解决java执行cmd命令调用ffmpeg报错Concat error - No such filter '[0,0]'问题的使用技巧和注意事项,需要的朋友参考一下 最近公司有一个公交项目,要生成报站语音,采用的是 报站前缀 + 站点名 + 报站后缀,3

  • 我已经尝试了多种方法,但都失败了, 失败:构建失败,但有例外。 > 错误:任务:app:compileFlutterBuildDebug的执行失败。 处理“命令”C:\Users\IMBA\flatter\bin\flatter。bat“”以非零退出值1结束 > 尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。运行--扫描以获得

  • 本文向大家介绍解决python升级引起的pip执行错误的问题,包括了解决python升级引起的pip执行错误的问题的使用技巧和注意事项,需要的朋友参考一下 centos6.x默认安装的python为2.6版本,今天换成了3.5版本 这里不再讲如何升级python版本 在安装完新的版本后,之前安装的插件都不能使用了,再用pip进行安装提示已经安装过,但是运行程序依旧在import出报错。 执行升级命

  • 我试图运行我的Flitter应用程序,结果显示: 在我使用问题部分的标志后,出现了其他内容。 我从appbrewery颤振课程中获取了这个颤振应用程序的所有材料。这是在我尝试制作MIcard项目时发生的。有没有解决这个问题的想法?