Open web-dave opened 7 years ago
ng g class shared/preload-delayed
providers: [PreloadDelayed],
import { PreloadingStrategy, Route } from '@angular/router';
import { Observable } from 'rxjs';
export class PreloadDelayed implements PreloadingStrategy {
preload(route: Route, fn: () => Observable<any>): Observable<any> {
if (route.data !== undefined) {
if (route.data.preload) {
return Observable.of(true).delay(3000).flatMap(() => fn());
}
} else {
return fn();
}
}
}
{
path: 'books',
loadChildren: './books/books.module#BooksModule',
data: {
preload: true
}
},
@NgModule({
imports: [RouterModule.forRoot(routes, {preloadingStrategy: PreloadDelayed})],
exports: [RouterModule]
})
export class AppRoutingModule { }
preload-delayed
classPreloadingStrategy
andRoute
AppMocule
PreloadingStrategy
,preload()