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

Ebl*_*eme 2 url customization url-rewriting angular

我想看到用户的用户名作为URL的一部分。例如:

我有这样的网址:

 www.undefiend.com/panel/dashboard
Run Code Online (Sandbox Code Playgroud)

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

www.undefiend.com/user1/dashboard
Run Code Online (Sandbox Code Playgroud)
  • 要么

    www.undefiend.com/michael/mails

  • 要么

    www.undefiend.com/richard/profile

其他...

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

任何帮助都会很棒。感谢帮助。

Gün*_*uer 5

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

routes = [
  { path: ':user', children: [
      { path: 'dashboard', component: DashboardComponent, }
  ]},
  { path: '**', component: 'LoginComponent' }
];
Run Code Online (Sandbox Code Playgroud)

然后在登录组件中,与用户一起导航到该路线

this.router.navigate(['/' + username, 'dashboard']);
Run Code Online (Sandbox Code Playgroud)

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