1、页面的加载过程就是:index.html->main.js->App.vue->index.js->xxx.vue
2、main.js通过实例化 vue,把组件和入口页面联系起来
一、解决方法:
在index.html中写一个加载效果
二、原因:
Vue 挂载时会自动替换 #app 内的所有内容,所以不需要手动清除加载元素。
<body>
<div id="app">
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
background: #f4f7f9;
font-family: system-ui, -apple-system, sans-serif;
}
.loader {
text-align: center;
padding: 2rem;
}
.spinner {
width: 50px;
height: 50px;
border: 3px solid rgba(106, 147, 203, 0.2);
border-top: 3px solid #6a93cb;
border-radius: 50%;
margin: 0 auto 1.5rem;
animation: spin 1s linear infinite;
}
.text {
color: #4a5568;
font-size: 1rem;
}
.dots {
display: inline-block;
position: relative;
}
.dots::after {
content: "";
animation: dots 1.5s infinite;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
@keyframes dots {
0%, 20% { content: "."; }
40% { content: ".."; }
60%, 100% { content: "..."; }
}
</style>
<div class="loader">
<div class="spinner"></div>
<div class="text">加载中<span class="dots"></span></div>
</div>
</div>
</body>