Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Angular 2 access base href [duplicate]

I have a code in my solution which gets baseHref of an app

constructor( private router: Router) {
    let baseHref = this.router._location._baseHref;

You could see what I am getting it via private properties. Is there other way to get base url? aka the url before router added it's parts?

I am using angular2 rc4

Thanks

like image 751
Simeon Grigorovich Avatar asked Jul 20 '16 15:07

Simeon Grigorovich


Video Answer


1 Answers

The Location class has prepareExternalUrl() that takes base href into account.

You can also try to inject constructor(@Inject(APP_BASE_HREF) href:string)

It seems APP_BASE_HREF can't be injected anymore without explicitly providing it.

PlatformLocation provides more details about the URL:

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

  constructor(platformLocation: PlatformLocation) {
    console.log((platformLocation as any).location);
    console.log((platformLocation as any).location.href);
    console.log((platformLocation as any).location.origin);
  }

Plunker example

like image 56
Günter Zöchbauer Avatar answered Nov 01 '22 07:11

Günter Zöchbauer