uni-app 使用this动态传参赋值问题

先上一段代码:

    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;
                    }
                })

  各位小姐姐,小哥哥 小编如果能够给各位解决问题,留下爱心,足迹哦

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章