Угловой маршрутизатор ActivatedRoute - PullRequest
0 голосов
/ 10 сентября 2018

Я хочу проверить адресную строку, если она содержит "admin" или нет

Адрес: http://localhost:4200/admin

constructor(
private route: ActivatedRoute
 ){
  this.route.paramMap.subscribe((paramMap: ParamMap) =>{
  console.log(paramMap.has('/admin'));
  }
)

, но это дает мне false.Я ожидал, правда

1 Ответ

0 голосов
/ 10 сентября 2018

Если вы хотите сделать это в конструкторе, используйте сервис Location вместо маршрутизатора:

import { Location } from '@angular/common';

constructor(private location: Location){
  if (this.location.path().startsWith('/admin')) {
    console.log('true');
  }
}

Router.url инициализируется с помощью / (и заполняется реальным URL позже), в то время как Location.path() немедленно возвращает реальный URL.

...