Angular. Получить params и queryParams одновременно

Допустим необходимо из url /auth/{session}?server={id} достать session и id. Для такой задачи подходит rxjs оператор combineLatest:

combineLatest(
  this._activatedRoute.params,
  this._activatedRoute.queryParams
)

Он отправит массив из 2 элементов.

import { ChangeDetectionStrategy, Component, OnDestroy, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';

import { combineLatest, Subscription } from 'rxjs';

@Component({
  selector: 'my-selector',
  template: `LOADING...`,
  changeDetection: ChangeDetectionStrategy.OnPush,
})
export class MyComponent implements OnInit, OnDestroy {
  private _routerSubscription: Subscription;

  constructor(private _activatedRoute: ActivatedRoute) {}

  ngOnInit(): void {
    // params забирает session, queryParams - id
    this._routerSubscription = combineLatest(
      this._activatedRoute.params,
      this._activatedRoute.queryParams
    ).subscribe(([session, id]) => {
      console.log(session, id);
    });
  }

  ngOnDestroy(): void {
    if (this._routerSubscription) {
      this._routerSubscription.unsubscribe();
    }
  }
}

Похожие записи

Отладка Angular в VS Code

Настройка Visual Studio Code используя расширение Debugger for Chrome для отладки Angular приложений
03 декабря 2017 г. в Angular

Angular. Can't set breakpoints in VS Code

Вариант решения проблемы, когда не срабатывают точки остановки при разработке Angular приложений в редакторе VS Code
10 апреля 2018 г. в Angular

ngx translate attribute

Используется конструкция

<img src="image.jpg" [alt]="'KEY' | translate"> 
20 августа 2018 г. в Angular

Переиспользуемые анимации в Angular

Для создания анимации используется функция animation(). Для её использования — useAnimation(). Приводится пример переиспользуемой анимации, а также создание анимации через литерал объекта.

09 октября 2018 г. в Angular