W moich głównych tras Mam moduł profil leniwy załadowane na /profile
tak:Pokaż animację ładowania podczas leniuchowania modułów?
{
path: '',
component: HomeComponent
},
{
path: 'profile', loadChildren: './profile/profile.module#ProfileModule'
},
{
path: '**',
redirectTo: '',
pathMatch: 'full'
}
Jednak mój profil moduł trwa około 1,5 - 2 sekund, aby załadować, który jest dość powolne. Chciałbym pokazać animację ładowania podczas mojego ładowania modułu, czy mimo to jest tak? Próbowałem w ten sposób:
app.component.html
<!-- other stuff ... -->
<router-outlet></router-outlet>
<div class="loading">
<div class="spinner">
<div class="rect1"></div>
<div class="rect2"></div>
<div class="rect3"></div>
<div class="rect4"></div>
<div class="rect5"></div>
</div>
</div>
i wewnątrz mojego css, miałem:
/* default .loading styles, .loading should be invisible, opacity: 0, z-index: -1 */
.loading {
opacity: 0;
transition: opacity .8s ease-in-out;
position: fixed;
height: 100%;
width: 100%;
top: 0;
left: 0;
background: #1B1B1B;
color: white;
z-index: -1;
}
/* .loading screen is visible when app is not bootstraped yet, .my-app is empty */
router-outlet:empty + .loading,
router-outlet:empty + .spinner {
opacity: 1;
z-index: 100;
}
/* spinner animation css stuff */
Ale to nie wydaje się działać, Czy mimo wyświetlić trochę programu ładującego, gdy załadowane są moduły kątowe2?
docenić odpowiedź, jednak nie mogłem dostać jakikolwiek obciążenia roboczego za pomocą '.loader' i' .spinner' –
@SyntacticFructose, zaktualizowałem moją odpowiedź, ale ogólnie , powinieneś najpierw upewnić się, że twoja animacja działa, a następnie spróbuj zintegrować ją z routerami – Milad