Как проверить каждый параметр запроса индивидуально в угловых 6 - PullRequest
0 голосов
/ 22 марта 2019

Я столкнулся с проблемой обработки параметров запроса в моем угловом приложении.У меня есть несколько параметров запроса на моей странице поиска.Ниже приведен URL

/ search? Q = hyderbard & view = map & type = bat & brand = sg

const urlParams = Observable.combineLatest(
      this.route.params,
      this.route.queryParams,
      (params, queryParams) => ({ ...params, ...queryParams })
);
urlParams.subscribe(routeParams => {
     routeParams.q !== undefined ? (this.q = routeParams.q): (this.q = "Bangalore");
     routeParams.type !== undefined ? (this.type = routeParams.type): (this.type = "All");
     routeParams.view !== undefined ? (this.view = routeParams.view): (this.type = "list");
     // this will call search api
     this.getList();
});

Это мой код, поэтому всякий раз, когда изменяются параметры запроса, getList называется.Я не хочу, чтобы getList вызывался при обновлении параметров запроса.Как это сделать?Может ли кто-нибудь, пожалуйста, помогите

1 Ответ

0 голосов
/ 22 марта 2019
urlParams.pipe(
 tap((routeParams) => {
  routeParams.q !== undefined ? (this.q = routeParams.q): (this.q = "Bangalore");
  routeParams.type !== undefined ? (this.type = routeParams.type): (this.type = "All");
  routeParams.view !== undefined ? (this.view = routeParams.view): (this.type = "list");   
 }),
 map((routeParams) => {
   const {view, ...rest} = routeParams;
   return rest;
 }),
 distinctUntilChanged((prevParams, curParams) => JSON.stringify(prevParams) === JSON.stringify(curParams))
).subscribe(() => {
     this.getList();
});

должен сделать это

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