vue.js 获取元素后无法渲染,如何解决?

vue.js 获取元素后无法渲染
问题代码
 axios.post('/colrank/',{
            }).then(function (response) {
                this.data1=response.data;   
                console.log(this.data1);
            })
            .catch(function (error) {
                console.log(error);
            });
代码无法显示data1中的数据
是不是因为异步请求,导致数据请求到后,页面没刷新
要求显示data1中的数据
谢谢大家

可以正常显示的,修改一下代码:


var that = this;
axios.post('/colrank/',{
            }).then(function (response) {
                that.data1=response.data;   
                console.log(that.data1);
            })
            .catch(function (error) {
                console.log(error);
            });

this指向

function 函数默认this指向是 windows

要么改成箭头函数

要么 重新声明一下

axios.post('/colrank/',{
            }).then((response)=> {
                this.data1=response.data;   
                console.log(this.data1);
            })
            .catch((error)=> {
                console.log(error);
            });



as
const that = this
axios.post('/colrank/',{
            }).then(function (response) {
                that.data1=response.data;   
                console.log(that.data1);
            })
            .catch(function (error) {
                console.log(error);
            })
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632