Stable Interface
What it does
Indicates that class can implement to be a data provider.
How to use
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | class Backend { fetchTeam(id: string) { return 'someTeam' ; } } @Injectable() class TeamResolver implements Resolve<Team> { constructor(private backend: Backend) {} resolve( route: ActivatedRouteSnapshot, state: RouterStateSnapshot ): Observable<any>|Promise<any>|any { return this .backend.fetchTeam(route.params.id); } } @NgModule({ imports: [ RouterModule.forRoot([ { path: 'team/:id' , component: TeamCmp, resolve: { team: TeamResolver } } ]) ], providers: [TeamResolver] }) class AppModule {} |
You can also provide a function with the same signature instead of the class.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | @NgModule({ imports: [ RouterModule.forRoot([ { path: 'team/:id' , component: TeamCmp, resolve: { team: 'teamResolver' } } ]) ], providers: [ { provide: 'teamResolver' , useValue: (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => 'team' } ] }) class AppModule {} |
Interface Overview
1 2 3 | interface Resolve { resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) : Observable<any>|Promise<any>|any } |
Interface Description
Interface Details
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) : Observable<any>|Promise<any>|any
exported from @angular/router/index, defined in @angular/router/src/interfaces.ts
Please login to continue.