Angular4如何自定義首屏的加載動畫詳解
前言
相信大家都知道,在默認(rèn)情況下,Angular應(yīng)用程序在首次加載根組件時,會在瀏覽器的顯示一個loading... 我們可以輕松地將loading修改成我們自己定義的動畫。下面話不多說,來一起看看詳細(xì)的介紹:
這是我們要實(shí)現(xiàn)首次加載的效果:

根組件標(biāo)簽中的內(nèi)容
請注意:在你的入口文件index.html中,默認(rèn)的loading...只是插入到根組件標(biāo)簽之間:
<!doctype html> <html> <head> <meta charset="utf-8"> <title>Fancy Loading Screen</title> <base href="/" rel="external nofollow" > <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="icon" type="image/x-icon" href="favicon.ico" rel="external nofollow" > </head> <body> <app-root>Loading...</app-root> </body> </html>
如果您在加載完根組件檢查應(yīng)用程序,則無法找到loading... 的文字,因?yàn)樗趹?yīng)用加載完成后被我們自己定義的組件替換掉。
這意味著我們可以在這些標(biāo)簽之間放置任何內(nèi)容,包括樣式定義,一旦Angular加載完根組件,就可以完全清除它們。
<app-root>
<style>
app-root {
color: purple;
}
</style>
I'm a purple loading message!
</app-root>
我們不必?fù)?dān)心這些樣式會影響我們的應(yīng)用程序加載后的內(nèi)容,因?yàn)橐磺卸急煌耆鎿Q掉。
現(xiàn)在你可以在那里隨意的做任何事情。使用css或者svg實(shí)現(xiàn)自定義加載動畫。
在我們的示例中,我們給頁面一個粉紅色的背景,我們使用Flexbox 將loading設(shè)置居中,給它設(shè)置一個更漂亮的字體,我們甚至在省略號上添加一個自定義動畫:
<app-root>
<style>
app-root {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
color: pink;
text-transform: uppercase;
font-family: -apple-system,
BlinkMacSystemFont,
"Segoe UI",
Roboto,
Oxygen-Sans,
Ubuntu,
Cantarell,
Helvetica,
sans-serif;
font-size: 2.5em;
text-shadow: 2px 2px 10px rgba(0,0,0,0.2);
}
body {
background: salmon;
margin: 0;
padding: 0;
}
@keyframes dots {
50% {
transform: translateY(-.4rem);
}
100% {
transform: translateY(0);
}
}
.d {
animation: dots 1.5s ease-out infinite;
}
.d-2 {
animation-delay: .5s;
}
.d-3 {
animation-delay: 1s;
}
</style>
Loading<span class="d">.</span><span class="d d-2">.</span><span class="d d-3">.</span>
</app-root>
這樣我們就實(shí)現(xiàn)了上圖的加載效果了,點(diǎn)擊這里查看原文
分享幾個loading效果的在線素材網(wǎng):
好了,去創(chuàng)建屬于你自己的loading吧!
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
用AngularJS來實(shí)現(xiàn)監(jiān)察表單按鈕的禁用效果
本篇文章主要介紹了用AngularJS來實(shí)現(xiàn)監(jiān)察表單按鈕的禁用效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2016-11-11
Angular 2 利用Router事件和Title實(shí)現(xiàn)動態(tài)頁面標(biāo)題的方法
本篇文章主要介紹了Angular 2 利用Router事件和Title實(shí)現(xiàn)動態(tài)頁面標(biāo)題的方法,具有一定的參考價值,有興趣的可以了解一下2017-08-08
AngularJS基礎(chǔ)學(xué)習(xí)筆記之指令
指令(Directives)是所有AngularJS應(yīng)用最重要的部分。盡管AngularJS已經(jīng)提供了非常豐富的指令,但還是經(jīng)常需要創(chuàng)建應(yīng)用特定的指令。這篇教程會為你講述如何自定義指令,以及介紹如何在實(shí)際項(xiàng)目中使用。2015-05-05
每個Angular版本在其生命周期中都經(jīng)歷了各個階段。組件在Angular中起著關(guān)鍵作用; 在這里,本文將討論Angular中的組件生命周期以及它們?nèi)绾斡绊懣蚣芩邪姹镜纳芷凇?/div> 2021-05-05
angularJS實(shí)現(xiàn)不同視圖同步刷新詳解
今天小編就為大家分享一篇angularJS實(shí)現(xiàn)不同視圖同步刷新詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10最新評論

