0
ルーティングでは、あるコンポーネントから別のコンポーネントへのパラメータとして一部の値を渡すと、渡されたパラメータ値がブラウザのURLに追加されます...回避できる方法はありますか?例ではAngular2ルーティングのブラウザのURLに入力パラメータが追加されないようにするにはどうすればよいですか?
「管理者」付属のスナップショットから、私は私が行う
[![export const routes: RouterConfig = \[
{ path: '', component: Login },
{ path: 'login', component: Login },
{ path: 'Home/:userName', component: Home },
...HOME_ROUTER_PROVIDERS
}
\]
export const HOME_ROUTER_PROVIDERS: RouterConfig = \[
{
path: 'Home/:userName',
component: Home,
children: \[
{ path: 'Dashboard1', component: Dashboard1 },
{ path: 'Dashboard2', component: Dashboard2 },
....
}
\]][1]][1]
マイhome.tsを次のように私のルーティングがあるhome.tsコンポーネントから
を渡していたユーザー名ですあなたは、いくつかのvariablを設定することができ、あなたのログイン・コンポーネントでそれを使用してUserService
を作成することがパラメータ
export class Home {
userName: any;
constructor(private activatedRoute: ActivatedRoute) {
console.log("In constructor of Home");
activatedRoute.params.subscribe(params => {
this.userName = params['userName']
});
}
}
ルータジョブは、ブラウザのURLバーと状態へのURLに状態を反映することです。それがURLバーに反映されていない場合は、ルータを使用してこの状態を維持しないでください。 @MadhuRanjanの回答に加えて、https://angular.io/docs/ts/latest/cookbook/component-communication.html#!#bidirectional-serviceを参照してください。 –