2017-07-26 3 views
1

私の角型アプリケーションの現在のパスを取得しようとしていますが、これは常に空になります。チェックされた角度ルートは空です

constructor(
     private route: ActivatedRoute 
) { 
    this.route.url.subscribe(segments => { 
     var currentPath = segments[0].path; 
     console.log("Current Route: ", currentPath); 
    }); 
    } 

私は移動に関係なく、これは常に空です:

enter image description here

は、私がここで間違って何をしているのですか?

+0

' this.route.snapshot.url:あなたはこれを使用する必要がありますActivatedRoute' – onetwo12

+0

はこのエラーを取得する:あなたがしている場合は、未定義 – HappyCoder

+0

のプロパティ「パス」を読み込めませんダイアログ/モーダルはありません。パスはありません – onetwo12

答えて

1

あなたは現在のルートのURLを取得したい場合は、このコードを使用することができます:あなたはWebアプリケーションの完全なURLを取得したい場合は

import { Router, ActivatedRoute } from '@angular/router'; 
constructor(
    private router: Router, 
    private activatedRoute: ActivatedRoute) { 
    console.log(activatedRoute.snapshot.url[0].path); 
} 

を。 [0] .path`どこ `民間ルート

window.location.pathname 
+0

これはうまくいきました:bool =(window.location.pathname === "/ promo")?真偽; – HappyCoder

0

ActivatedRouteにはパスがありません。あなたはコンストラクタと一緒に注入することができるルータを調べるべきです。

一般的な方法は、アクティブ化されたルートに移動するために使用される場所を提供することですが、追加のサービスを使用することがあります。

関連する問題