2017-05-10 1 views
3

パスからIDでオブジェクトを解決し、トーナメントのタイプを検出して(router.navigate(..)を介して)別のルートに転送する委任コンポーネントがあります(例:/tournament/:id)。 /tournament/:id/leagueリダイレクト後にAngular2ブラウザの戻るボタン

問題は、ブラウザの戻るボタンが委任コンポーネントに戻り、委任コンポーネントの空のテンプレートを表示することです。

があるが考慮router.navigateよりも、別のコンポーネントに転送するために、他のオプションは次のとおりです

  1. ブラウザは、戻るボタンは、ブラウザのURLに反映されるべき委譲コンポーネント
  2. ルート/tournament/:id/leagueにジャンプしないでしょう

答えて

1

私は回避策を見つけましたが、誰かがもっと洗練されたものになることを期待しています。このスニペットはすべてのコンポーネントに入れなければなりません。

コンストラクタに入れられ、新しいルートが委任コンポーネントのものであるかどうかがチェックされます。その場合は、別のルートにリダイレクトします。

_location.subscribe(loc => { 
    let routeOfDelegatingComponent = "...."; 
    if (loc.url === routeOfDelegatingComponent) { 
    router.navigate(['/acustomroute']); 
    } 
}); 
関連する問題