先上一段代码:
export default { data() { return { token:'' } }
}
let that=this
uni.request({ url:this.$BaseUrl+'/CompanyController/establishToken', methods:'POST', header:{ 'Content-type':'application/x-www-form-urlencoded' }, dataType:"json", success:funtion(){ // this.token=res.data.token;
that.token=res.data.token; } })
这个代码中使用普通的success:funtion(){} 经常用普通函数 因此我们使用this.token赋值的时候出现怎么都赋不上值因为
uni.request 中uccess方法指向闭包,所以this属于闭包,由此在success回调函数里是不能直接使用this.tokne的 可以在方法外使用let that=this的方法 that.token=res.data.token ;
当然还有另外一种方法使用使用箭头函数直接使用this指向就可以
uni.request({ url:this.$BaseUrl+'/CompanyController/establishToken', methods:'POST', header:{ 'Content-type':'application/x-www-form-urlencoded' }, dataType:"json", success:(res)=>{ this.token=res.data.token; } })
各位小姐姐,小哥哥 小编如果能够给各位解决问题,留下爱心,足迹哦