0
在路由中,當我們將某個值作爲參數從一個組件傳遞到另一個組件時,傳遞的參數值將被附加到瀏覽器URL中......是否有任何方法可以避免? 如何避免輸入參數附加到angular2路由中的瀏覽器url?
在從快照連接「管理員」的例子是我從home.ts分量通過用戶名
我的路由是如下
[![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在那裏我做navigate.route傳遞參數
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 –