// 传递一个所有路由都能用的参数
// Create a dummy session id
let sessionId = 123456789;
// Set our navigation extras object
// that contains our global query params and fragment
let navigationExtras: NavigationExtras = {
queryParams: { 'session_id': sessionId },
fragment: 'anchor'
};
// Navigate to the login page with extras
this.router.navigate(['/login'], navigationExtras);
// 接受到了NavigationExtras之后,可以将其保存下来,继续传递
let navigationExtras: NavigationExtras = {
queryParamsHandling: 'preserve',
preserveFragment: true
};
// Redirect the user
this.router.navigate([redirect], navigationExtras);
// 如下方式取出queryParams
this.sessionId = this.route.queryParamMap
.map(params => params.get('session_id') || 'None');
this.token = this.route.fragment
.map(fragment => fragment || 'None');
// 导航时附带参数
this.router.navigate(['/heroes', { id: heroId, foo: 'foo' }]);
// 相对导航(relativeTo感觉是多余的)
this.router.navigate(['../', { id: crisisId, foo: 'foo' }], { relativeTo: this.route });
// 设置第二路径(这里其实是清空了第二路由)
this.router.navigate([{ outlets: { popup: null }}]);