No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Reg铆strate

Comienza en:

5D
19H
55M
49S

Implementando una propia estrategia de precarga

7/23
Recursos

Aportes 10

Preguntas 1

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Les cuento que esto tambi茅n funciona con child modules, es decir, la estrategia se debe de declarar en el app.module pero cualquier modulo hijo tambi茅n es afectado solo que tenga la metadata.

Man! Esto si lo lleva a otro nivel, lo puedo variar por temas de publicidad, por temas de roles y mejor a煤n cruzarlo con Analytics para ver lo m谩s visto y precargarlo.

Excelente clase, ya todo tiene mucho m谩s sentido. Arriba la cuarentenaaaaa

Estrategia de carga selectiva

//crear el service
ng g core/services/preload
// archivo core/services/preload.services.ts
import { Inyectable} from '@angular/core'
import { PreloadingStrategy } from '@angular/router'
import { Observable, of } from 'rxjs'

expport class PreloadService implements PreloadingStrategy {
    preload(route: Route, load: ()=> Observable<any>) : Observable<any> {
        if (route.data && route.data['preload']) {
            return load();
        }else {
            return of()
            // of() observable vacio
        }
    }
}
// archivo app-routing.module.ts
//agrega metadata a las rutas
...
import { PreloadService } from './core/services/preload.service'
...
{
    path:'home',
    loadChildren: ()=>import('path').then(m=>m.MModule),
    data: { preload: true }
    // ese preload puede ser una variable que nosotros creemos
}
...
//cambiar la estrategia de precarga 
@NgModule({
    imports: [RouterModule.forRoot(routes, {
        preloadingStrategy: PreloadService
    })],
    exports: [RouterModule]
})
export class AppRoutingModule { }

En las proximas clases vamos a ver Estrategias orientadas a los datos

que buen curso.

Interesante yo en mis proyectos he implementado solamente la primera opcion鈥
Buen curso

El ejemplo es muy bueno, lo acabo de implementar en mi sistema donde precargo de acuerdo con el tipo de usuario y est谩 funcionando muy bien, gracias.

Les comparto mi c贸digo:

import { Injectable } from '@angular/core';
import { PreloadingStrategy, Route } from '@angular/router';
import { Observable, of } from 'rxjs';

@Injectable({
  providedIn: 'root'
})
export class PreloadStrategyService implements PreloadingStrategy {

  preload(route: Route, load: () => Observable<any>): Observable<any>{
    return route.data?.preload ? load() : of();
  }

}```

Estrategia de carga selectiva, esta muy genial