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
        })

以上为个人经验,希望能给大家一个参考,也希望大家多多支持阿兔在线工具。

点赞(0)

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部