Angular 多用户的多视图

Angular 多用户的多视图,angular,Angular,我想根据用户角色创建主页页面的自定义视图 基于和页面,我想知道我的应用程序架构是否应该如下所示: (/app) |-- modules |-- home |-- components |-- pages | |-- home | |-- role1 | |-- role1home.component.ts|html|scss|

我想根据用户角色创建
主页
页面的自定义视图

基于和页面,我想知道我的应用程序架构是否应该如下所示:

(/app)
|-- modules
       |-- home
           |-- components
           |-- pages
           |    |-- home
           |         |-- role1
           |              |-- role1home.component.ts|html|scss|spec
           |         |-- role2
           |              |-- role2home.component.ts|html|scss|spec
           |
           |-- home-routing.module.ts
           |-- home.module.ts
或者更确切地说:

(/app)
|-- role1
     |-- home
     |     |-- home.component.ts|html|scss|spec
     |-- role1-routing.module.ts
     |-- role1.module.ts
|-- role2
    |-- home
    |     |-- home.component.ts|html|scss|spec
    |-- role2-routing.module.ts
    |-- role2.module.ts     

还是其他方式

据我所知,我应该避免在一个文件中存储多个视图,并基于
*ngIf
使用它们

另一个问题是-如果我选择第一种方法,如果我有
auth.service.ts
,它将在
auth.service.role()


我是否应该在
routes
部分的
home routing.module.ts
routeGuard
中使用
canActivate

我认为第二种结构更好,因为如果根据角色将页面分成模块,则只能加载该特定角色所需的模块(使用延迟加载)这将提高网站的性能。这是我通常做的

对于第二个问题,我遇到了一个类似的情况,我必须与SSO端集成。因此,我相信您可以根据用户在身份验证回调中的角色重定向用户。您还可以将每个页面的角色存储在路由数据中


我希望这能有所帮助。

嗨,sobczi,你的角色是固定的,我是说没有角色?另一个问题是每个角色视图都有相同或不同的Html?你说的固定角色是什么意思?每个角色都有不同的Html,我是说没有角色,比如5个角色6个角色…等等。我的意思是它还没有实现,但在我的项目的前一个版本中,我有它。IMO,第二这种方法更易于管理。同样,使用第二种方法,您可以根据角色放置加载模块。