Мне нужно получить текущий URL-адрес, присутствующий в браузере, в моем приложении Angular 2.
В JavaScript обычно мы делаем это с помощью объекта window.
Как это сделать в Angular 2 с помощью TypeScript?
Спасибо.
Мне нужно получить текущий URL-адрес, присутствующий в браузере, в моем приложении Angular 2.
В JavaScript обычно мы делаем это с помощью объекта window.
Как это сделать в Angular 2 с помощью TypeScript?
Спасибо.
Это поздно, но я подумал, что это стоит обновить. Начиная с 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);
}
}
Не нужно импортировать сложные пакеты или что-то вводить. Просто используйте методы, которые вы можете найти на window.location
!
Например:
window.location.href
дает вам полный URLwindow.location.hostname
дает имя хостаwindow.location.origin
с помощью этой команды вы получите имя хоста с протоколом (например, https://)Импортируйте 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".
Для будущих путешественников очень много других ответов. Другой вариант, если вы хотите все до имени пути (например, https://example.com
), вы можете использовать:
window.location.origin
Здесь статья W3 о различных свойствах window.location
, которые вы можете использовать:
http://www.w3schools.com/js/js_window_location.asp
Ура!
Вы можете
Location
и получите URL-адрес location.path()
(см. также Местоположение и HashLocationStrategy перестали работать в бета-версии.)window.location.pathname
См. также
Как получить абсолютный путь к текущей странице в Angular 2?