Как передать аргумент в метод API распознавателя angular - PullRequest
0 голосов
/ 22 апреля 2020

Я реализую Resolver в Angular и не могу понять, как передать методу вызова API значение аргумента. Например, следующий метод разрешения getStores () работает нормально, он не имеет аргументов.

resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<IStores[]> {
         return this.storeService.getStores()   <- this works, simply return all stores.
            .pipe(
                catchError(err => of(err))
            );
     }

Мне нужно передать storeId. 1. Пользователь нажимает на ссылку магазина, которую он выбирает в пользовательском интерфейсе 2. Код захватывает storeId и ... что дальше? как передать storeId этому распознавателю?

resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<IStores[]> {
         return this.storeService.getStoreDetails(storeId)   <- how to pass "storeId" into here?
            .pipe(
                catchError(err => of(err))
            );
     }

Resolver запускается как таковой, а resolvedData заполняется данными, возвращаемыми из API в распознавателе.

let resolvedData: IStores[] = this.route.snapshot.data['resolvedStores'];

Маршрут / разрешение настраивается как таковой в app-routing.module.ts

const routes: Routes = [
    { path: "stores", component: StoresComponent, resolve: {resolvedStores: StoreService} }
];

Любой отзыв очень важен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...