vue方法axios函数无法设置数据或ruturn响应,ps:函数被用于创建

时间:2017-06-02 11:06:09

标签: vuejs2 axios

这是我的todolist.VUE创建的代码

  created () { // 组件创建时调用
    this.getUserInfo()
    console.log(this.id)//console undefined
    if (this.id === null) {
      this.$router.go('/')
    }
    this.getTodoList()
  },
  data () {
    return {
      name: 'Molunerfinn',
      todos: '',
      activeName: 'first',
      list: '',
      count: 0,
      id: ''
    }
  },

这是方法中的功能:

 getUserInfo () {
      const token = sessionStorage.getItem('my-token')
      if (token) {
        let obj = {
          access_token: token
        }
        this.$http.post('/verify/verify', obj) //axios
        .then((res) => {
          this.id = res.data.info.id //res.data.info.id can be consoled
        }, (err) => {
          if (err) {
            this.$router.go('/')
          }
        })
      } else if (!token) {
        this.$router.go('/')
      }
    },

res.data.info.id是我想要的,它是正确的,我尝试返回res.data.info.id,但未定义。

1 个答案:

答案 0 :(得分:0)

在getUserInfo方法的开头添加 self = this; 然后以这种方式使用self而不是this:

   self.id = res.data.info.id //res.data.info.id can be consoled