前言
相信大家都知道,在默認情況下,Angular應用程序在首次加載根組件時,會在瀏覽器的顯示一個loading... 我們可以輕松地將loading修改成我們自己定義的動畫。下面話不多說,來一起看看詳細的介紹:
這是我們要實現首次加載的效果:
根組件標簽中的內容
請注意:在你的入口文件index.html中,默認的loading...只是插入到根組件標簽之間:
<!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>
如果您在加載完根組件檢查應用程序,則無法找到loading... 的文字,因為它在應用加載完成后被我們自己定義的組件替換掉。
這意味著我們可以在這些標簽之間放置任何內容,包括樣式定義,一旦Angular加載完根組件,就可以完全清除它們。
<app-root> <style> app-root { color: purple; } </style> I'm a purple loading message! </app-root>
我們不必擔心這些樣式會影響我們的應用程序加載后的內容,因為一切都被完全替換掉。
現在你可以在那里隨意的做任何事情。使用css或者svg實現自定義加載動畫。
在我們的示例中,我們給頁面一個粉紅色的背景,我們使用Flexbox 將loading設置居中,給它設置一個更漂亮的字體,我們甚至在省略號上添加一個自定義動畫:
<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>
這樣我們就實現了上圖的加載效果了,點擊這里查看原文
分享幾個loading效果的在線素材網:
好了,去創建屬于你自己的loading吧!
總結
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com