import { Injectable } from '@angular/core'; import { ActivatedRouteSnapshot, Resolve, Router, RouterStateSnapshot } from '@angular/router'; import { ProductService } from './product.service'; import { Product } from '../core/product'; import { Observable } from 'rxjs/internal/Observable'; @Injectable({ providedIn: 'root', }) export class ProductResolver implements Resolve { constructor(private ser: ProductService, private router: Router) {} resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable { const id = route.paramMap.get('id'); return this.ser.get(id); } }