Angular4如何自定義首屏的加載動畫詳解
前言
相信大家都知道,在默認(rèn)情況下,Angular應(yīng)用程序在首次加載根組件時,會在瀏覽器的顯示一個loading... 我們可以輕松地將loading修改成我們自己定義的動畫。下面話不多說,來一起看看詳細的介紹:
這是我們要實現(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ī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)容,因為一切都被完全替換掉。
現(xiàn)在你可以在那里隨意的做任何事情。使用css或者svg實現(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>
這樣我們就實現(xiàn)了上圖的加載效果了,點擊這里查看原文
分享幾個loading效果的在線素材網(wǎng):
好了,去創(chuàng)建屬于你自己的loading吧!
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
Angular.js中$resource高大上的數(shù)據(jù)交互詳解
這篇文章主要給大家介紹了關(guān)于Angular.js中$resource高大上的數(shù)據(jù)交互的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用angular.js具有一定的參考學(xué)習(xí)價值,需要的朋友們下面跟著小編來一起看看吧。2017-07-07
AngularJS基礎(chǔ) ng-value 指令簡單示例
本文主要介紹AngularJS ng-value 指令,這里對ng-value 的基礎(chǔ)資料做了整理,并附實例代碼,有需要的小伙伴可以參考下2016-08-08
Angularjs全局變量被作用域監(jiān)聽的正確姿勢
這篇文章主要介紹了Angularjs全局變量被作用域監(jiān)聽的正確姿勢的相關(guān)資料,需要的朋友可以參考下2016-02-02
利用Angular.js限制textarea輸入的字?jǐn)?shù)
相信在大家已經(jīng)學(xué)習(xí)了足夠多關(guān)于AngularJS的知識后,就可以開始創(chuàng)建第一個AngularJS應(yīng)用程序,這篇文章通過示例給大家介紹如何利用Angular.js限制textarea輸入的字?jǐn)?shù),有需要的朋友們可以參考借鑒,下面來一起看看吧。2016-10-10
AngularJs學(xué)習(xí)第五篇從Controller控制器談?wù)?scope作用域
這篇文章主要介紹了AngularJs(五)從Controller控制器談?wù)?scope作用域 的相關(guān)資料,需要的朋友可以參考下2016-06-06
AngularJS基礎(chǔ) ng-mouseover 指令簡單示例
本文主要介紹AngularJS ng-mouseover 指令,這里幫大家整理了AngularJS 指令的基礎(chǔ)知識,并附代碼示例,有興趣的小伙伴可以參考下2016-08-08
AngularJs中 ng-repeat指令中實現(xiàn)含有自定義指令的動態(tài)html的方法
今天用angular寫table的時候,遇到了一個問題。在ng-repeat中,含有動態(tài)的html,而這些html中含有自定義指令,怎么實現(xiàn)呢?下面小編給大家分享AngularJs中 ng-repeat指令中實現(xiàn)含有自定義指令的動態(tài)html的方法,一起看看吧2017-01-01

