20 lines
597 B
TypeScript
20 lines
597 B
TypeScript
import {Injectable} from '@angular/core';
|
|
import {ActivatedRouteSnapshot, Resolve, Router, RouterStateSnapshot} from '@angular/router';
|
|
import {User} from '../core/user';
|
|
import {Observable} from 'rxjs/internal/Observable';
|
|
import {UserService} from './user.service';
|
|
|
|
@Injectable({
|
|
providedIn: 'root'
|
|
})
|
|
export class UserResolver implements Resolve<User> {
|
|
|
|
constructor(private ser: UserService, private router: Router) {
|
|
}
|
|
|
|
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<User> {
|
|
const id = route.paramMap.get('id');
|
|
return this.ser.get(id);
|
|
}
|
|
}
|