var that=this的用法

在我们开发项目时var that=this的用法很常见:

举例如下(1):

Add({
       //弹框关闭
    data:{
            dialogVisible:true,
    },

    methods:{
            var that=this //这里声明了that;将this存在that里面
            initTable(){
                     var that = this;
                axios.post
                ("/branch/list?currentPage=" + this.currentPage + "&pageSize=" +                                                 this.pageSize , this.branchSearch).then(function (result) {
                    if (result.data.code == 2000) {
               that.tableData = result.data.data.list;//这里使用that,就可以获取Add对象
                        that.total = result.data.data.total;
                         }
        }                                

        }
    
})

在我们代码中可以看到提前声明了var that=this 后面就能可以使用that了.

总结如下:

this作用域分析:

1.在Page({})里面,this关键字指代Page({})整个对象

2.因此可以通过this关键字访问或者重新设置Page({})里data的变量

3.然而在loadData函数中使用了wx.request({})API这个方法导致在wx.request({})里没办法使用this来获取Page({})对象

4.虽然在wx.request({})里没法使用this获取Page({})对象,但是可以在wx.request({})外面先把this存在某个变量中,所以就有了var that =this 这个声明。此时that指代Page({})整个对象,这样子就可以在wx.request({})里使用that访问或者重新设置Page({})里data的变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值