Angular2 Просмотр начального маршрута URL - PullRequest
0 голосов
/ 05 июня 2018

Есть ли способ получить исходный URL-адрес маршрута (маршрут, который происходит при перезагрузке страницы).

Я хочу применить стиль CSS к элементу на его основе.

До сих пор я вводил консоль ActivatedRoute, регистрируя ее так:

  constructor(private router: Router, private actRoute: ActivatedRouteSnapshot) {
     console.log(actRoute);

Затем Chrome показывает объект ActivatedRoute, содержащий свойство _routerState, у которого есть снимок с нужным URL-адресом.

Проблемакогда я делаю: console.log(actRoute._routerState); я получаю ошибку, потому что свойство состояния маршрутизатора не существует.

Я что-то здесь упускаю?Потому что просто запись actRoute.url или actRoute.snapshot.url просто дает пустой путь.

Спасибо.

Мой импорт: import { Router, ActivatedRoute } from '@angular/router';

Ответы [ 2 ]

0 голосов
/ 06 июня 2018

Я понял, как просмотреть только первый, начальный маршрут.

В моем app.component.ts я создал локальную переменную event, а затем установил ее равной функции this.router.events.subscribe.

После того, как я закончил с роутером, я просто позвонил this.even.this.event.unsubscribe().

Вот мой код:

event;

export class AppComponent implements OnInit {
  constructor(private router: Router) { }

  ngOnInit() {
    this.event = this.router.events.subscribe((e) => {
      if (e instanceof NavigationEnd) {
        console.log(e);

        // Doing stuff with the router

        this.event.unsubscribe();
      }
    });
  }
}

И мой импорт:

import { Component, OnInit } from '@angular/core';
import { Router, NavigationEnd } from '@angular/router';
0 голосов
/ 05 июня 2018

Использование Router и последующее приведут вам полный путь:

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