2017-03-03 22 views
3

console.log(_router.url)を使用するとURLを取得できません。角2 - ルーターからURLを取得できません

constructor(
    private el: ElementRef, 
    private _auth:AuthenticationService, 
    @Inject(AppStore) private store: Store<AppState>, 
    private _router:Router, 
) { 

    console.log(_router); 
    console.log(_router.url); 
    } 

これはconsole.log(_router) enter image description here

(...)がクリックされたとき、それは"/languages"

を表示した結果である:それだけ /(スラッシュ)

私は以下のコードを実行するとを返します。

enter image description here

しかし、console.log(_router.url)これが唯一それが

enter image description here

+0

あなたはこの解決を取得しました:

は、これは私のコードです。答えは私のために働いていないようです。 – Hiran

答えて

2

を印刷しているあなたは、常に位置情報サービス

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

Location docs

1

@Owainバンブラーケルの答えが正しいですが、いくつかの詳細が不足してからルートを取得しようとすることができます、私はthis.router.url(StackOverflowの他の答えで示唆されているように)を使用することができなかったので、私はlocation.path()を使用しました。

// This is important because when you use Location in the constructor it 
// gets accepted but the wrong library is used. 
import { Location } from '@angular/common'; 

export class MainComponent { 
    constructor(public location: Location) { 
     console.log(this.location.path()); 
    } 
} 
関連する問題