JustDoItTomorrow
3/8/2018 - 5:35 AM

导航:用navigate函数

// 传递一个所有路由都能用的参数
// 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 }}]);