Подтвердить что ты не робот

Как получить текущий URL-адрес в браузере в Angular 2 с помощью TypeScript?

Мне нужно получить текущий URL-адрес, присутствующий в браузере, в моем приложении Angular 2.

В JavaScript обычно мы делаем это с помощью объекта window.

Как это сделать в Angular 2 с помощью TypeScript?

Спасибо.

4b9b3361

Ответ 1

Это поздно, но я подумал, что это стоит обновить. Начиная с Angular2 окончательной версии вы можете импортировать DOCUMENT из @angular/common и использовать его для доступа к местоположению.

import { Component, Inject } from '@angular/core';
import { DOCUMENT } from '@angular/common';

...

export class YourComponent {

    constructor(@Inject(DOCUMENT) private document: Document) { 
        console.log(this.document.location.href);
    }
}

Ответ 2

Не нужно импортировать сложные пакеты или что-то вводить. Просто используйте методы, которые вы можете найти на window.location!

Например:

  • window.location.href дает вам полный URL
  • window.location.hostname дает имя хоста
  • window.location.origin с помощью этой команды вы получите имя хоста с протоколом (например, https://)
  • и более, как вы можете видеть здесь: нажмите меня

Ответ 3

Импортируйте ActivatedRoute (и остальную часть Router, если хотите)

import { ActivatedRoute, Params, Router, UrlSegment } from '@angular/router';

убедившись, что он впрыснут в конструктор,

constructor(private route: ActivatedRoute) { ... }

и на ngOnInit вы можете использовать this.route для проверки URL-адреса. Например, все сегменты находятся в массиве, который вы можете объединить вместе, как @ibgib, например:

let path = this.route.snapshot.url.join('/');

чтобы дать вам что-то вроде "mars/moons/phobos".

Ответ 4

Для будущих путешественников очень много других ответов. Другой вариант, если вы хотите все до имени пути (например, https://example.com), вы можете использовать:

window.location.origin

Здесь статья W3 о различных свойствах window.location, которые вы можете использовать: http://www.w3schools.com/js/js_window_location.asp

Ура!