如何使用Angular 7解析器将queryParams传递到API端点

时间:2019-03-06 09:14:51

标签: angular

我需要使用Resolver将queryParams(而非route参数)传递给API端点。如何在组件类中传递查询参数并在解析器中检索它?请查看我的代码段:

test.component.ts

loadTests(limit: number) {
this.route.data
   .subscribe(
     (data) => {
      this.tests  = data.tests;
     }
   );
}

test.resolver.ts

enter code here
  public resolve(
     route: ActivatedRouteSnapshot,
     state: RouterStateSnapshot
     ): Observable<ILaunch[]> {
    return this.testService.getAllTests(limit); // how do I retrieve 
        limit here from test component
       }

test.service.ts

public getAllTests( limit: number, ): Observable<ITest[]> {
return this.httpClient
  .get<ITestAPIData[]>(
    `${environment.baseUrl}tests?limit=${limit}}`
  )
  .pipe(map(data => (data)))
  .pipe(
    catchError())
  );
}

我尝试了诸如queryParams,params和switchMap之类的方法,但无法弄清楚应如何实现。 注意:我不希望将查询参数传递给客户端路由URL,而是传递给API端点。

任何提示将不胜感激。

预先感谢

0 个答案:

没有答案