2016-07-20 7 views
7

私はあなたが私がプライベートプロパティ経由で取得していますかを見ることができ、アプリ角度2のアクセスベースのhref

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

のbaseHrefを取得し、私の解決策のコードを持っています。ベースURLを取得する別の方法はありますか?ルーターがその部分を追加する前に、別名URL?

私はangular2 RC4を使用しています

おかげ

答えて

14

Locationクラスは、アカウントに、ベースHREFを取るprepareExternalUrl()を持っています。

また、APP_BASE_HREFが明示的に提供することなく、もはや注入することができないようだconstructor(@Inject(APP_BASE_HREF) href:string)

を注入しようとすることができます。

PlatformLocation 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

+3

すごいです! location.prepareExternalUrl( "")はちょうど私の日を少し良くしました。 –

+0

「このクラスはアプリケーション開発者が直接使用するのではなく、場所を使用してください」 –

+0

@AmrMostafaどのようなドキュメントですか、どのクラスですか? –