Angular предоставляет несколько способов проверить, на какой странице находится пользователь. Вот некоторые из них:
1. Использование сервиса Router: Angular Router предоставляет возможность получить информацию о текущем маршруте и его параметрах. Вы можете подписаться на событие изменения маршрута и обновить информацию о текущем маршруте. Вот пример кода:
import { Component, OnInit } from '@angular/core'; import { Router, NavigationEnd } from '@angular/router'; @Component({ selector: 'app-my-component', templateUrl: './my-component.component.html', styleUrls: ['./my-component.component.scss'] }) export class MyComponent implements OnInit { currentRoute: string; constructor(private router: Router) {} ngOnInit(): void { this.router.events.subscribe((event) => { if (event instanceof NavigationEnd) { this.currentRoute = event.urlAfterRedirects; // Здесь вы можете произвести любые дополнительные действия, // основанные на текущем маршруте } }); } }
В этом примере мы подписываемся на событие NavigationEnd
, которое происходит всякий раз, когда маршрут успешно завершается. Таким образом, в свойстве currentRoute
мы сохраняем текущий маршрут.
2. Использование ActivatedRoute: Когда ваш компонент был загружен с помощью Angular Router, вы можете получить доступ к информации о текущем маршруте с помощью ActivatedRoute
. Вот пример кода:
import { Component, OnInit } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; @Component({ selector: 'app-my-component', templateUrl: './my-component.component.html', styleUrls: ['./my-component.component.scss'] }) export class MyComponent implements OnInit { currentRoute: string; constructor(private route: ActivatedRoute) {} ngOnInit(): void { this.currentRoute = this.route.snapshot.url.join('/'); // Здесь вы можете произвести любые дополнительные действия, // основанные на текущем маршруте } }
Здесь мы используем route.snapshot.url
, чтобы получить текущий маршрут в виде массива сегментов. После этого мы преобразуем его в строку с помощью join('/')
и сохраняем в свойстве currentRoute
.
3. Использование Location: Можно использовать сервис Location из Angular для получения информации о текущем URL. Вот пример кода:
import { Component, OnInit } from '@angular/core'; import { Location } from '@angular/common'; @Component({ selector: 'app-my-component', templateUrl: './my-component.component.html', styleUrls: ['./my-component.component.scss'] }) export class MyComponent implements OnInit { currentUrl: string; constructor(private location: Location) {} ngOnInit(): void { this.currentUrl = this.location.path(); // Здесь вы можете произвести любые дополнительные действия, // основанные на текущем URL } }
В этом примере мы используем location.path()
, чтобы получить текущий URL и сохранить его в свойстве currentUrl
.
Все эти методы позволяют вам получить информацию о текущем маршруте или URL в Angular. Выберите метод, который лучше всего соответствует вашим потребностям и используйте его в своем коде.