как использовать location.href из файла ts вместо router.navigate в Angular 8 и что импортировать? - PullRequest
0 голосов
/ 21 февраля 2020

в случае успеха мне нужно направить на другую домашнюю страницу ... как использовать window.location.href? откуда импортировать окно?

@Input() redirectTo: string = "/home";

 switch (data.authenticationStatus.value) {
  case "SUCCESS":
    this.storageSvc.saveTokens(data.tokens);
    window.location.href([this.redirectTo]);
    break;

Ответы [ 2 ]

0 голосов
/ 21 февраля 2020

Почему вы хотите использовать это? Angular - это единая платформа Page Application, поэтому обычно вы не go переходите на другую html страницу или что-то внутри вашего проекта - так как это всего лишь одна большая отдельная веб-страница. Используя маршрутизатор, вы можете получить что-то вроде нескольких страниц, но имейте в виду, что в фоновом режиме оно всегда возвращается к вашему индексу. html ...

0 голосов
/ 21 февраля 2020

Внешняя маршрутизация

Старомодный javascript сработает, если вы захотите перейти за пределы своего приложения:

window.location.href = externalUrl;

Внутренняя маршрутизация

Вы используете маршрутизатор Angular для перехода к новому маршруту. Маршрутизатор импортируется из @angular/router, и вы внедряете его через конструктор компонента.

import { Router } from '@angular/router';

export class MyComponent {

  constructor(private router: Router) {
  }

  @Input() redirectTo: string = "/home"

  navigate() {
    this.router.navigateByUrl(this.redirectTo);
  }
}

Если у вас есть полностью сформированный относительный URL-адрес, как кажется, вы можете вызвать router.navigateByUrl(url). Существуют более сложные способы построения навигационных инструкций, но я хочу сосредоточиться на основах здесь, чтобы познакомить вас с маршрутизацией.

...