Angular 2 access base href [duplicate]

风流意气都作罢 提交于 2019-11-30 01:25:39

问题


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


回答1:


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



来源:https://stackoverflow.com/questions/38485171/angular-2-access-base-href

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!