Skip to content

Instantly share code, notes, and snippets.

@azaharafernandezguizan
Created November 3, 2018 15:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save azaharafernandezguizan/72694094b3b2c1e39c6f2bc7c13f89a8 to your computer and use it in GitHub Desktop.
Save azaharafernandezguizan/72694094b3b2c1e39c6f2bc7c13f89a8 to your computer and use it in GitHub Desktop.
Example of Angular Route Resolver
import { Injectable, } from '@angular/core';
import { ActivatedRouteSnapshot, Resolve, Router, RouterStateSnapshot } from '@angular/router';
import { Observable } from 'rxjs';
import { catchError } from 'rxjs/operators';
import { RoomDetail } from 'src/app/_models/rooms.model';
import { RoomService } from 'src/app/_services/room.service';
@Injectable()
export class MagicalLessonsResolver implements Resolve<RoomDetail> {
constructor(
private roomService: RoomService,
private router: Router
) {}
resolve(
route: ActivatedRouteSnapshot,
state: RouterStateSnapshot
): Observable<any> {
return this.roomService.getRoom(route.params['id'])
.pipe(catchError((err) => this.router.navigateByUrl('/')));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment