在Angular 2中自定义每个用户的URL

时间:2017-02-25 15:24:59

标签: angular url url-rewriting customization

我希望将用户的用户名视为网址的一部分。例如:

我有这样的网址:

 www.undefiend.com/panel/dashboard

我想为每个用户自定义它。像这样:

www.undefiend.com/user1/dashboard
  • www.undefiend.com/michael/mails

  • www.undefiend.com/richard/profile

其他人......

我如何在Angular 2或更高版本中做到这一点?

任何帮助都会很棒。谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

在路线中使用带有参数的路由器

routes = [
  { path: ':user', children: [
      { path: 'dashboard', component: DashboardComponent, }
  ]},
  { path: '**', component: 'LoginComponent' }
];

然后在登录组件中导航到具有用户

的路线
this.router.navigate(['/' + username, 'dashboard']);

另见https://angular.io/docs/ts/latest/guide/router.html#!#can-activate-guard