在vue较多使用的是axios请求,请求后的回调函数中,this不能指向当前vue实例,打印出来是undefined;

1,let that = this,以前常用的存储this的方法

getSerTime:function(){
    let that = this ;//存储this
    Vue.axios.get(root + '/api/findInfoDetail').then((response) => {
        console.log(response.data);
        console.log(this);
        console.log(that);
    })
}

2.使用箭头函数

Vue.axios.get(root +'/api/findInfoDetail',{params:{notid:this.searchData.notId,type:this.searchData.type}}).then((response) => {
    console.log(response.data);
    console.log(this);
    //箭头函数内部的this是词法作用域,是由外层调用者vue来确定,使用箭头函数之后,箭头函数指向的函数内部的this已经绑定了外部的vue实例了
})
Logo

前往低代码交流专区

更多推荐