Cannot set property 'pageData' of undefined?

clipboard.png

data () {
    return {
      pageData: []
    }
    
    
 axios.get('/api/tableData.json')
        .then(function(response) {
            console.log(111)
            response=response.data
            console.log(response.pageData)
            if(response.ret && response.pageData) {
              var data = response.pageData
              this.pageData = data
            }
    })

pageData不是已经定义了吗?为什么显示错误?

clipboard.png

阅读 3.8k
2 个回答

this问题,你的函数不是=>箭头函数,获取到的this不是vue实例,
改成

 axios.get('/api/tableData.json')
        .then(response => {
            console.log(111)
            response=response.data
            console.log(response.pageData)
            if(response.ret && response.pageData) {
              var data = response.pageData
              this.pageData = data
            }
    })

要么像二楼说的。
要么在axios.get('/api/tableData.json')
之前let _this = this;

 后面用_this 替代this
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题