VUE axios all()使用返回值报错

data(){


  return {

    tabledata: [],

    oftenGoods: [],

  }

},

created: function () {

  axios.all([

    axios.get('test1.php'),

    axios.get('test2.php')

  ]).then(axios.spread(function(oftenResp, typeResp) {

        console.log(oftenResp.data);

        console.log(typeResp.data);

       

        this.tabledata= typeResp.data

    }))

    .catch(error=>{

      console.log(error);

    })

},



返回的两个响应数据都能拿到, 打印也是成功的

 this.tabledata= typeResp.data  //这句赋值的时候报错TypeError: Cannot read property 'tabledata' of null

 

 

 


红糖糍粑
浏览 688回答 1
1回答

MYYA

// this.tabledata= typeResp.data 你把这一句写在哪里我大概明白了,then(axios.spread(function(oftenResp, typeResp) {        console.log(oftenResp.data);        console.log(typeResp.data);               this.tabledata= typeResp.data    }))        改成        then(axios.spread((oftenResp, typeResp) => {    console.log(oftenResp.data);    console.log(typeResp.data);       this.tabledata= typeResp.data}))如果支持 ES6语法,的话,哪就var _that = this........_that.tabledata= typeResp.data
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript