2016-11-16 8 views
0

私のウェブサイトのすべてのページで呼び出されるnavbarコンポーネントがあります。
URLがHostListenerで変更されたときにチェックする必要があります。Angular2 HostListenerチェックURLの変更

@HostListener('window:hashchange', ['$event']) 
onHashChange(event) { 
    this.checkCurrentURL(); 
} 

private checkCurrentURL(){ 
    console.log("loaction : "+window.location.pathname) 
} 

ただし、動作しません。 アイデア

EDIT:SOLUTION

私が見つけた解決策はHostListenerなしですが、それは動作します。

constructor(private router : Router){ 
router.events.subscribe((val) => { 
    this.checkCurrentURL(); 
}); 
} 
+0

あなたは何をしようとしているのか説明できますか? hashchangeイベントを聴きようとしていることを示しています。このイベントは、パスではなくハッシュが実際に変更されたときに起動します。 – cgatian

答えて

1

このために、HostListenerは必要ありません。あなたが単一のページアプリケーションを開発していると仮定すると、あなたはルート変更イベントを購読したいと思う。

+0

これは質問に対する答えを提供しません。十分な[評判](http://stackoverflow.com/help/whats-reputation)があれば、どの投稿でも[コメント](http://stackoverflow.com/help/privileges/comment)できるようになります。また、これを確認してください(代わりに何ができますか?)(https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reationation-to-comment-what-c​​an-i-do-instead )。 – thewaywewere

関連する問題