2017-07-18 2 views
0

Angualr 4.0、ローカル[email protected]に私のangualr-cliプロジェクトをアップグレードしました。app.component.tsのコードは、アップグレード:Angular 4.0ルータのNavigationStartイベントにURLメンバーが含まれていません

今のURL memeberはイベント

router.events.filter(event => event instanceof NavigationStart) 
     .subscribe(e => { 
     this.currentUrl = e.url; // Error here 'url is not defined in Event' 
      console.log("Now route", e.toString()); // logs something like NavigationStart(id: 1, url:'/my-url') as a string 
    }) 

どのように私はE」から返された文字列を操作することなく、「E」から「URL」メンバーを取得することができますで使用できなくなりました。 NavigationStartクラスのtoString()を呼び出します。

ユーザがナビゲートすると、現在のルートと以前のルートをルータからの文字列として取得する方法がありますか?

私の理解はごくわずかなものであり、この点に関する助けに感謝します。

答えて

1

前および次のURLを取得するには、これを試してみてください:使用する

this.router.events 
     .filter(event => event instanceof NavigationEnd) 
     .pairwise() 
     .subscribe((value: [NavigationEnd, NavigationEnd]) => { 

     let previousUrl = value[0].url; 
     let nextUrl = value[1].url; 
     }); 

輸入:

import "rxjs/add/operator/filter"; 
import "rxjs/add/operator/pairwise"; 
+0

あなたは私がこれについての詳細を読むことができる任意のソースを共有することができますか?このコードは次回のリリースにも役立つと思いますか? – Teebo

関連する問題