山有木兮丶丶 2022-02-10 14:30 采纳率: 80%
浏览 432
已结题

store.getters.token显示undefined

我在vue页面中写了一个修改密码的方法,然后我在方法里面打印了this.$store.getters.token的值,可以打印出来,然后在axios的请求拦截器里面打印store.getters.token,这时打印出来的结果是undefined

这是vue的代码:

editPass(){
      console.log(this.$store.getters.token);
      if(this.passForm.newPass != this.passForm.newPassAgain){
        this.$message.warning('两次输入的密码不一致');
        return false;
      }
      this.$refs.passForm.validate(result =>{
        if(result){
          this.$store.dispatch('user/getInfo', this.passForm).then(data =>{
            console.log('success');
            this.$message.success(data.msg);
          })
          this.$refs.passForm.resetFields();
          this.dialogVisible = false;
          this.logout();
        } else {
          this.$message.warning('校验未通过')
          return false
        }
      })
    }

这是request.js里面的axios拦截器的代码:

service.interceptors.request.use(
  config => {
    config.withCredentials = true
    // do something before request is sent
    console.log(store.getters);
    console.log(store.getters.token);
    if (store.getters.token) {
      // let each request carry token
      // ['X-Token'] is a custom headers key
      // please modify it according to the actual situation
      
      config.headers['token'] = getToken()
    }
    return config
  },
  error => {
    return Promise.reject(error)
  }
)

打印的结果:

img

不知道为啥放在js里面就是undefined

  • 写回答

1条回答 默认 最新

  • 你好!机器人 2022-02-10 14:39
    关注

    使用 vuex 时, getters 中需要计算的 state 属性一定要提前声明,使其成为响应式的值
    https://blog.csdn.net/weixin_41143511/article/details/106028698

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 2月18日
  • 已采纳回答 2月10日
  • 创建了问题 2月10日

悬赏问题

  • ¥20 基于spring boot、的scorm
  • ¥15 往复密封问题的两个问题
  • ¥15 DAC函数和STM32
  • ¥15 任务是接收数据并把数据写入DAC7311,这些代码能实现此功能吗
  • ¥15 分析FP -Growth代码运行内存太大而无法运行的原因
  • ¥20 qtcreat 使用msvc编译器开发软件运行时字体锯齿感严重
  • ¥15 为何显示keyerror fruit
  • ¥15 imageware粗糙度表面
  • ¥15 python使用pulp线性优化时报错
  • ¥15 为什么我的uibot导入py模块出错呀。py文件放在了uibot里对应的python文件夹了,卸了重安也不行