vue异步请求数据重新渲染
vue异步请求数据时往往不能及时更新,
下面介绍一种方法解决
export default {
name: "pic",
created() {
this.getList();
},
data(){
return{num:[]}
},
methods:{
getList(){
fetch('https://localhost:3000/get-banner-list').then(data=>{
return data.json()
}).then((data)=>{this.num=data.data;console.log(this.num)})
}
}
}
这个时候template标签里面的数据还没有更新,所以可以这样
<div class="propagate" v-show="num.length>0">
<ul>
<li v-for="(item,index) in num" :key="index">
<img :src="item.photo_url" :key="index">
</li>
</ul>
</div>
等数据加载完再显示
自定义组件异步获取数据重新渲染
视图层
<myCard v-if="countView" icon="icon-yonghuzu" bgcolor="#2d8cf0" :count="homeData.govtCount" title="标题名称"></myCard>
逻辑层
data(){
return {
countView:true
}
}
//重新渲染组件
_this.countView=false
_this.$nextTick(()=>{
_this.countView=true
})
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。