正常情況下在data里面都有做了定義
data() {
return {
allPersion:4,
}
}
在函數(shù)里面進行賦值
this.allPersion =response.data.Data
這時候你運行時會發(fā)現(xiàn)鞭执,數(shù)據(jù)可以請求到桨昙,但是會報錯TypeError: Cannot set property ‘listgroup’ of undefined
主要原因是:
在 then的內(nèi)部不能使用Vue的實例化的this, 因為在內(nèi)部 this 沒有被綁定富纸。
解決辦法:
1枢步、用ES6箭頭函數(shù),箭頭方法可以和父方法共享變量
GetPatrollerNum(){
axios({
method: 'post',
url: config.api.GetPatrollerNum,
data:"",
headers:
{
'Content-Type': 'application/json'
}
})
.then((response)=> {
console.log(response.data.Data);
this.allPersion=response.data.Data;
})
.catch(function (error) {
console.log(error);
});
},
2、在請求axios外面定義一下 var that=this
GetPatrollerNum(){
var that =this;
axios({
method: 'post',
url: config.api.GetPatrollerOnlineNum,
data:"",
headers:
{
'Content-Type': 'application/json'
}
})
.then(function (response) {
console.log(response.data.Data);
that.allPersion=response.data.Data;
})
.catch(function (error) {
console.log(error);
});
},```