2017-08-22 5 views
0

RouterRouterOutletの両方をチェックして、URL行全体がわかるかどうか確認しています。しかし、私は適用可能な何かを見ることができません。名前付き店舗を含むAngularアプリケーションの完全なURLを調べるにはどうすればいいですか?

http://localhost:2006/some(aa:aha,bb:bha)

私は、オブジェクトを取得したい:

最適には、私は私のブラウザでURLが言う場合ことを意味し、それはスプリットアップの形態で提供することがしたいのですが=

... xxx.url.path一部
... xxx.url.outlets [0] = {名: "AA"、パス: "AHA"}これは、このようなフィールドを有するであろう
... xxx.url.outlets [1] = {名前: "bb"、パス: "bha"}
... xxx.url.server = "localhost"
... xxx.url。ポート= 2006

でも、以下のような複合バージョンでも、私は自分自身をいくつかの文字列の魔法で分割することができます。

... xxx.url.path =一部(AA:なるほど、BB:BHA)

私はそれをどのように行うのですか?グーグルで私が見逃したキーは?

答えて

1

現在のURLには、RouterクラスまたはLocationクラスを使用してアクセスできます。

import { Router } from "@angular/router"; 
constructor(private router: Router) { } 

console.log(this.router.url); 

または

import { Location } from "@angular/common"; 
constructor(private location: Location) { } 

console.log(this.location.path()); 

ルータはそうあなたは必ずユーザーがリダイレクトされた作るためにNavigationEndイベントを購読する可能性があり、あなたの設定に応じて、ユーザーをリダイレクトしていることに注意してください。

import { Event, NavigationEnd } from "@angular/router"; 

this.router.events.subscribe((event: Event) => { 
    if (event instanceof NavigationEnd){ 
    // do your stuff here 
    } 
}); 
関連する問題