Angular4如何自定義首屏的加載動畫詳解
前言
相信大家都知道,在默認(rèn)情況下,Angular應(yīng)用程序在首次加載根組件時(shí),會在瀏覽器的顯示一個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)察表單按鈕的禁用效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2016-11-11Angular 2 利用Router事件和Title實(shí)現(xiàn)動態(tài)頁面標(biāo)題的方法
本篇文章主要介紹了Angular 2 利用Router事件和Title實(shí)現(xiàn)動態(tài)頁面標(biāo)題的方法,具有一定的參考價(jià)值,有興趣的可以了解一下2017-08-08AngularJS基礎(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)不同視圖同步刷新詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10最新評論