目录
1,问题表现
一般打开网页时,如果资源较多会有白屏的情况,除了在项目上做首屏优化之外,同时也可以增加一个全屏 loading 图片,等资源加载完成后隐藏。
现在有2个问题
- loading 图片应该放在哪里?
- loading 图片什么时候隐藏?
2,解决
对 Vue 项目来说,可以在应用实例挂载到容器元素之后,隐藏 loading 图片。
所以一种解决方式是:loading 图片放到 App.vue
中,并在 onMouted
中隐藏即可。
执行顺序:
onMouted
>DOMContentLoaded
事件 >load
事件
最优的做法
因为 Vue 项目挂载应用实例时,是替换了 div#app
元素的内容。所以可在 index.html
中直接设置,最终会被替换。
html
<div id="app">
<style>
.loading-img {
position: fixed;
width: 200px;
height: 200px;
left: 50%;
top: 50%;
margin-left: -100px;
margin-top: -100px;
}
</style>
<img class="loading-img" src="./img/loading.gif" />
</div>
以上。