vue中怎么使用v-for动态刷新页面?
vue页面已加载,使用axios获取数据,数据返回时动态渲染到页面中,请问这要怎么实现?
methods :
getList: function () {
let $list = {};
this.$axios.get('/api/movie/top250',{
params: {
start: 0,
count: 10
}
}).then(response => {
$list = response;
}).catch(err => {
alert('error');
})
return $list;
}
computed: {
list: function () {
return this.getList()
}
}
<template>
<div>
<p v-for="(val,index) in list" :key="index">{{val}}</p>
</div>
</template>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
getList返回的时候ajax还未执行完,所以返回的list就是空的
这里个人认为不应该用计算属性
应该在mounted里面调用getlist并设置data中list值
大概:
computed
的list
并有变化。直接用data
,然后给list
赋值,如果还不清楚,我电脑上写个demo定时器不能解决吗