¿Cómo obtengo la ruta absoluta de la página actual en Angular 2?

En esencia, me he encontrado con este problema, donde necesito una referencia a la ruta actual para usar degradados, pero aún tengo que descubrir cómo traducir la solución a Angular 2.

constructor(location:Location) { console.log(location.prepareExternalUrl(location.path())); } 

https://angular.io/docs/ts/latest/api/common/index/Location-class.html#!#prepareExternalUrl-anchor

window.location proporciona más información

Ejemplo de Plunker

Puede usar la inyección DOCUMENT desde @angular/platform-browser .

 import { Component, Inject } from '@angular/core'; import { DOCUMENT } from '@angular/platform-browser'; @Component({...}) class SomeComponent { constructor(@Inject(DOCUMENT) document: any) { console.log(document.location.href); } } 

Objeto de ubicación

El objeto document.location es su solución integral.

Use los atributos dentro del objeto de ubicación del documento para obtener la ruta de la forma que necesita. Veamos esto con un ejemplo.

Entonces, para https://www.google.com/images

  • document.location.href devolverá https://www.google.com/images
  • document.location.origin devolverá https://www.google.com
  • document.location.protocol devolverá https:
  • document.location.host devolverá google.com
  • document.location.hostname devolverá google
  • document.location.pathname devolverá /images

si recarga la página, no puede obtener la ruta de ruta por Enrutador o Ruta activada. Debe usar window.location.pathname