Angular. Редирект по условию

import { ChangeDetectionStrategy, Component } from '@angular/core';
import { Router } from '@angular/router';

import { APIService } from 'api';

/**
 * Компонент используется для условного перенаправления пользователя
 * с корневого url адреса. Зависимость от количества:
 * 0 - dashboard
 * 1 - карточка 
 * 2 и более - список
 */
@Component({
  selector: 'app-welcome',
  template: `<preloader size="large" [loading]="true"></preloader>`,
  changeDetection: ChangeDetectionStrategy.OnPush,
})
export class WelcomeComponent {
  constructor(router: Router, someApi: APIService) {
    someApi.getList().subscribe(res => {
      const count = res.size;
      if (count === 0) {
        router.navigate(['/dashboard']);
      }
      if (count === 1) {
        const id = res.list[0].id;
        router.navigate([`/thing/${id}/overview`]);
      }
      if (count > 1) {
        router.navigate(['/thing/list']);
      }
    });
  }
}

Redirect user with router depending on logged in status

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

RxJs Subjects

Выдержки из доклада Андрея Алексеева (Tinkoff) про RxJs (Subject, Behaviour Subject, Replay Subject, Async Subject). Применение в Angular.

ngx translate attribute

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

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

Angular. Manually retry http request

На память. Некоторое время назад я решил достаточно необычную задачу, но в последствии на backend`е переделали логику и код был удалён из проекта.