Angular2で動的デフォルトルートを使用するにはどうすればよいですか?

Thomas Zuberbuehler

問題:ユーザーの許可に応じて、別のデフォルトルートを使用する必要があります。

@RouteConfig([
    { path: '/x1', name: 'x1', component: X1Component, useAsDefault: true },
    { path: '/x2', name: 'x2', component: X2Component},
    { path: '/x3', name: 'x3', component: X3Component},
    { path: '/x4', name: 'x4', component: X4Component},
    { path: '/x5', name: 'x5', component: X5Component}
])

与えられたx1上記のデフォルトルートとしてRouteConfigしかし、現在のユーザーがこのページにアクセスする権限を持っていない、x2許可が付与されたというようにする場合は、デフォルトルートとして使用する必要があります。

とにかく、私たちはloaderすでに属性を試しました問題は、URLが更新されないことです(例:from/x1からx2)。これにより、cssクラスがrouter-link-activeメニューのリンクに自動的にアタッチされないなどの他の問題が発生します。

もちろん、回避策を書くこともできますが、この種の問題をどのように解決していますか?

GünterZöchbauer

どのルートがデフォルトルートであるかを実行時に変更することはできないと思います。

一般的なアプローチは@CanActivate()、ログインが必要なコンポーネントにデコレータを追加し、ユーザーが実際にログインしていない場合は、適切なルートにリダイレクトすることだと思います。

現在のユーザーがログインしているかどうかを知るには、DIを使用してユーザーの状態に関するグローバル情報を取得することをお勧めします。
DIから取得できるルートルーターインスタンスへの参照も必要です。でのDIの使用@CanActivate()は現在直接サポートさていませんが、関連するAngular2の問題での説明は、グローバルインジェクターへの参照を取得するための回避策(プランカーリンクを使用)を提供します。

Angular2の@CanActivate内の別のコンポーネントにリダイレクトするも参照してください。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Angular2ルーター(@ angular / router)、デフォルトルートを設定するにはどうすればよいですか?

分類Dev

Angular2 CLIでデフォルトルートを宣言するにはどうすればよいですか?

分類Dev

Angular2で@Inputのデフォルトパラメータを設定するにはどうすればよいですか?

分類Dev

UIManagerでデフォルトのNimbusカラーを使用するにはどうすればよいですか?

分類Dev

WTForms RadioFieldでデフォルト値を動的に設定するにはどうすればよいですか?

分類Dev

AngularJSでデフォルトルートを定義するにはどうすればよいですか?

分類Dev

デフォルト以外の言語でFirefoxを起動するにはどうすればよいですか?

分類Dev

Angular2で親ルートと子ルートの2つのtsファイルを作成するにはどうすればよいですか?

分類Dev

デフォルトでJTextFieldにカーソルを表示するにはどうすればよいですか?

分類Dev

起動後にデフォルトのTTYを変更するにはどうすればよいですか?

分類Dev

完全なデフォルトルートのURLを取得するにはどうすればよいですか?

分類Dev

Flutterでデフォルトでnull不可を使用するにはどうすればよいですか?

分類Dev

__repr __()のデフォルトの動作を取得するにはどうすればよいですか?

分類Dev

デフォルトでv-data-tableをソートするにはどうすればよいですか?

分類Dev

ネストされた配列データをangular2のフォーム配列に表示するにはどうすればよいですか?

分類Dev

iPhoneでデフォルトでテンキーを表示するにはどうすればよいですか?

分類Dev

ターミナル設定をデフォルトにするにはどうすればよいですか?

分類Dev

ターミナル設定をデフォルトにするにはどうすればよいですか?

分類Dev

Angular-Datatables-デフォルト設定を使用してテーブルを並べ替え可能にするにはどうすればよいですか?

分類Dev

WSLでデフォルトユーザーを表示するにはどうすればよいですか?

分類Dev

XFCEでNautilusをデフォルトとして使用するにはどうすればよいですか?

分類Dev

SELECTクエリでデフォルトを使用するにはどうすればよいですか?

分類Dev

char配列でデフォルト値を使用するにはどうすればよいですか?

分類Dev

Atomをデフォルトのエディターにするにはどうすればよいですか?

分類Dev

デフォルトのLXDストレージを削除するにはどうすればよいですか?

分類Dev

デフォルトゲートウェイを変更するにはどうすればよいですか?

分類Dev

phpldapadminのデフォルトポートを変更するにはどうすればよいですか?

分類Dev

デフォルトのXubuntuブート画面を復元するにはどうすればよいですか?

分類Dev

レーキテストでデフォルトのミニテストを使用しないようにするにはどうすればよいですか?

Related 関連記事

  1. 1

    Angular2ルーター(@ angular / router)、デフォルトルートを設定するにはどうすればよいですか?

  2. 2

    Angular2 CLIでデフォルトルートを宣言するにはどうすればよいですか?

  3. 3

    Angular2で@Inputのデフォルトパラメータを設定するにはどうすればよいですか?

  4. 4

    UIManagerでデフォルトのNimbusカラーを使用するにはどうすればよいですか?

  5. 5

    WTForms RadioFieldでデフォルト値を動的に設定するにはどうすればよいですか?

  6. 6

    AngularJSでデフォルトルートを定義するにはどうすればよいですか?

  7. 7

    デフォルト以外の言語でFirefoxを起動するにはどうすればよいですか?

  8. 8

    Angular2で親ルートと子ルートの2つのtsファイルを作成するにはどうすればよいですか?

  9. 9

    デフォルトでJTextFieldにカーソルを表示するにはどうすればよいですか?

  10. 10

    起動後にデフォルトのTTYを変更するにはどうすればよいですか?

  11. 11

    完全なデフォルトルートのURLを取得するにはどうすればよいですか?

  12. 12

    Flutterでデフォルトでnull不可を使用するにはどうすればよいですか?

  13. 13

    __repr __()のデフォルトの動作を取得するにはどうすればよいですか?

  14. 14

    デフォルトでv-data-tableをソートするにはどうすればよいですか?

  15. 15

    ネストされた配列データをangular2のフォーム配列に表示するにはどうすればよいですか?

  16. 16

    iPhoneでデフォルトでテンキーを表示するにはどうすればよいですか?

  17. 17

    ターミナル設定をデフォルトにするにはどうすればよいですか?

  18. 18

    ターミナル設定をデフォルトにするにはどうすればよいですか?

  19. 19

    Angular-Datatables-デフォルト設定を使用してテーブルを並べ替え可能にするにはどうすればよいですか?

  20. 20

    WSLでデフォルトユーザーを表示するにはどうすればよいですか?

  21. 21

    XFCEでNautilusをデフォルトとして使用するにはどうすればよいですか?

  22. 22

    SELECTクエリでデフォルトを使用するにはどうすればよいですか?

  23. 23

    char配列でデフォルト値を使用するにはどうすればよいですか?

  24. 24

    Atomをデフォルトのエディターにするにはどうすればよいですか?

  25. 25

    デフォルトのLXDストレージを削除するにはどうすればよいですか?

  26. 26

    デフォルトゲートウェイを変更するにはどうすればよいですか?

  27. 27

    phpldapadminのデフォルトポートを変更するにはどうすればよいですか?

  28. 28

    デフォルトのXubuntuブート画面を復元するにはどうすればよいですか?

  29. 29

    レーキテストでデフォルトのミニテストを使用しないようにするにはどうすればよいですか?

ホットタグ

アーカイブ