角度4的多租户路由

时间:2017-10-03 14:39:38

标签: angular angular4-router

我正在运行一个角度4的应用程序。我对我的应用程序中的路由分别有一个特定的要求。

我有路线&路由参数如/create/claim/view/claim/:id等。这些传统的路由方法工作正常。

我需要路由到页面(例如:仪表板页面),在页面名称之前给出param。例如

http://.../dashboard <--- this is working & loads dashboard module.
http://.../:client-name/dashboard <-- I need to know how to load dashboard module, after getting client-name information from database.

如果有人遇到这样的要求,请告诉我。如果需要其他信息,我会提供。

1 个答案:

答案 0 :(得分:0)

我认为您看到的答案是延迟加载和使用警卫。

一个例子

 const APP_ROUTES: Routes = [
  {
    path: 'dashboard',
    loadChildren: 'app/dashboard/dashboard.module#DashboardModule',

 }, {
    path: 'dashboard',
    runGuardsAndResolvers: 'always',
    canActivate: [AuthGuard],
    loadChildren: 'app/home/home.module#HomeModule'
 }, {
   path: 'auth',
   loadChildren: 'app/auth/auth.module#AuthModule'
 }
];

我们的警卫就像这样

 canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): 
  Observable<boolean> | Promise<boolean> | boolean {
    if (this.authservice.isAuthenticated()){
  return true;
 } else {
  this.router.navigate(['auth/signIn'], {});

  }
 }
希望它有所帮助。