mouted能不能访问data中的数据_vue中mounted方法访问数据接口获取数据,{{ 数据 }}访问却没有...

在Vue组件的mounted生命周期钩子中,通过axios获取数据并赋值给`data`中的`datas`,虽然控制台显示数据已获取,但在模板中{{ datas }}显示为空。问题出在`.then`的回调函数作用域上,使用箭头函数可以正确绑定`this`,而普通函数会导致`this`指向错误。解决方案是将`.then`的回调改为箭头函数。
摘要由CSDN通过智能技术生成

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title></title>

<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>

<script src="https://cdn.staticfile.org/axios/0.18.0/axios.min.js"></script>

</head>

<body>

<div id="data">{{datas}}</div>

<script type="text/javascript">

new Vue({

el:'#data',

data:{

datas:null

},

mounted:function(){

const params = new URLSearchParams();

params.append('type', 'queryHeadCarousel');

axios

.post('https://xxxx/php.php',params)

.then(function(response){

this.datas = response;

console.log(this.datas);

})

.catch(function (error) { // 请求失败处理

console.log(error);

})

}

})

</script>

</body>

</html>

我在mounted周期中访问数据接口并取得数据对象,并赋给datas,此时控制台打印datas含有数据,但是在dom中访问{{datas}}却为空?

初学vue,各位能不能帮忙解解惑?

//

找到原因了,下面第一种写法就行,第二种就不行。

弱弱问一句有啥区别吗?0.0

第一种:

.then(response => (this.datas= response.data))

第二种:

.then(function(response){

this.datas = response.data;

})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值