页面加载问题

clipboard.png
当一个页面处于加载中的时候,出现这个图,等加载完毕 才显示内容,请问这是怎么做的?

阅读 1.8k
3 个回答

其实这个图叫做骨架屏,由于vue在数据渲染出来之前会出现NAN或者undefined,用户体验感非常不好,我们可以巧妙的避免这个问题,在请求接口返回数据之前显示骨架屏,待数据请求成功返回,隐藏骨架屏,显示数据。

/*设置全屏的骨架屏背景图*/
<div class="skeleton" v-if="skeleton"></div>
    
created() {
    /*是否显示骨架屏*/
    skeleton: true
}
methods() {
   fetchData().then(res => {
       console.log('数据请求成功')
        /*隐藏骨架屏*/
        this.skeleton = false
    }).catch(err => {
        this.skeleton = false
    }) 
}

比如说你用的请求是axios
进入页面的时候先显示那个图片
axios.post(url).then((res)=>{

if(res.code==0){
//图片隐藏
    this.data=res.data
}  

})

<body>
<script>
//刚开始加载页面显示图片,隐藏内容或定位层级覆盖
</scirpt>


</script>
$(function(){
   //加载完成隐藏图片,显示内容
})
</script>
</body>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题