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="https://www.atool.online/article/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 })
以上为个人经验,希望能给大家一个参考,也希望大家多多支持阿兔在线工具。