axios在调用后台数据,并把数据动态添加到form表达中遇到的坑

Your context is changing: because you are using the keyword function, this is inside its scope the anonymous function, not the vue instance.


Use arrow function instead.


您的上下文正在发生变化:因为您正在使用关键字函数,所以它在其范围内是匿名函数,而不是vue实例。
使用箭头功能。


1
axios({
method: 'post',
url:appCtx.ctxPath+'/action/portal/accnt/queryById',
headers:{
'Authorization':token,
'Content-Type':'application/x-www-form-urlencoded'
},
data: {
id : id
}
}) .then(function(response) {  //正常使用function定义匿名函数,在这个匿名函数中取获取data中的属性是会提示未set的定义
  var str = {
  acctAgencyName:"客户",
  address:""}
  var data = JSON.stringify(str);
  this.clientForm.formData = JSON.parse(data);
});



2


 axios({
method: 'post',
url:appCtx.ctxPath+'/action/portal/accnt/queryById',
headers:{
'Authorization':token,
'Content-Type':'application/x-www-form-urlencoded'
},
data: {
id : id
}
}) .then((response) =>{ //将1中的该处修改成箭头=> 的形式,代表了当前的vue对象,只是该当前的应用上下文
  var str = {
  acctAgencyName:"客户",
  address:""}
  var data = JSON.stringify(str);
  this.clientForm.formData = JSON.parse(data);
});

你可能感兴趣的:(vue)