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

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日

悬赏问题

  • ¥15 MATLAB动图问题
  • ¥15 有段代码不知道怎么理解,const isToken = (config.headers || {}).isToken === false
  • ¥100 采用栈和深度优先算法对我的代码进行修改显示路径
  • ¥15 pointnet2包安装
  • ¥20 射频功率问题,解答者有酬谢!
  • ¥80 构建降雨和积水的预测模型
  • ¥15 #Qt Transform setTransform()在鼠标拖动移动视角是一致在原地不动,无法变换视角(细微观察似乎视图有在原地抖动),无法变换视角(细微观察似乎视图有在原地抖动)
  • ¥50 如何利用无人机拍摄的数码照片测量鸟卵的长短径
  • ¥100 github贡献者给与奖励
  • ¥15 使用DS18B20+ESP8266获取温度数据返回-127.00