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

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 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改