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,第二这种方法更易于管理。同样,使用第二种方法,您可以根据角色放置加载模块。