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>

等数据加载完再显示

Logo

前往低代码交流专区

更多推荐