2016-11-02 5 views
1

イベントプロパティに登録されたルータクラスを注入しました ナビゲーションイベントが発生したときに呼び出されましたが、どうすればそのナビゲーションをキャンセルできますか? ナビゲーションガードを使用すると、私のポルプスに過度の負担がかかります。別の方法がありますか?ガードなしで角度2でナビゲートするのを防ぐ方法

私は同じ目的で角度リポジトリを読んだ
+0

なぜ、ガードが過剰殺到だと思いますか?私は彼らがとてもシンプルだと思う。 –

+0

オーバーキルは正しいフレーズではありませんが、ルートがたくさんあり、ルーティングを続ける前に簡単なチェックが1つ必要です。したがって、各ルートにガードを追加したくありません – almog

答えて

0

は、ナビゲーションをキャンセルするためのより良い方法を見つけることを試みる2つの溶液ました:

  • ナビゲーションガードを。
  • ナビゲーション呼び出しをオーバーライドします。

私は個人的にはガードが好きです。ルートコンフィグレーションで設定するだけで、すべてのコンポーネントのアクセス許可を管理するサービスを提供できます。 2つめのアプローチは推奨されていませんが、ナビゲーションチームのチームがルータのフローを閉じて変更するのが難しくなり、大きな流れを作り出したため、ナビゲーションコールをオーバーライドすることは可能です。

関連する問題