現在、私のプロジェクトにはルーティングが設定されています。ユーザーがログインすると、彼らはいくつかの子のルートユーザーを持つ家庭のモジュールにリダイレクトしている4200 /デフォルト・パス/ログイン角度2ルーティングでベースURLを動的に変更するにはどうすればよいですか?
:
はlocalhost:すべての新しいユーザーがにリダイレクトされますにナビゲートすることができます。
はlocalhost:4200 /デフォルト・パス/ ホーム
はlocalhost:4200 /デフォルト・パス/ ホーム/アカウント
はlocalhost:4200 /デフォルト・パス/ ホーム/アカウント/プロファイル
はlocalhost:4200 /デフォルト・パス/ ホーム/ダッシュボード...というように。
ここで、太字の部分はすでにホームモジュールに設定されており、それ以上編集する必要はありません。しかし、
default-path
を別のものに変更したいと思います。各ユーザーは、青、赤、緑の3つのプロジェクトのいずれかに属しているとします。この情報はの後にのみ利用可能で、の場合、ユーザーは資格情報を送信し、ログインボタンを押します。ルートは、ログイン後を言うの私が好きな何
は次のとおりです。
はlocalhost:4200/プロジェクト・ブルー /ホーム
はlocalhost:4200/プロジェクト-赤 /ホーム
はlocalhost:4200/プロジェクト・グリーン /ホーム大胆な部分は、関連するコンポーネントが異なる別々のモジュールではなく、URLで見たい定数だけです。
現在、私の
<base>
タグはインデックスにあります<base href='/'>
私はこの属性を編集しようとしています。私が持っているものは次のようなものです:processLoginSuccess(loginTicket): void { const routeName = loginTicket.baseUrl // returns 'project-red' let b = document.getElementsByTagName('base')[0] b.setAttribute('href', routeName) this._router.navigate(['/home']); }
しかしこれはうまくいかないようです。
アイデア?
http://stackoverflow.com/questions/37756167/dynamic-routing-based-on-external-data/38096468#38096468 –
@GünterZöchbauer:それのように見えること子ルートの設定をリセットします。ベースURLを編集する必要があります。 resetConfigでこれを行うことはできますか? – Snowman
いいえ、ベースURLを変更する方法がないと思います –