我正在开发一个有很多角色的应用程序,我需要使用警卫来阻止基于这些角色的应用程序的部分导航。我意识到我可以为每个角色创建单独的守卫类,但是我宁愿有一个类,我可以以某种方式传递一个参数。换句话说,我希望能够做类似的事情:
{
path: 'super-user-stuff',
component: SuperUserStuffComponent,
canActivate: [RoleGuard.forRole('superUser')]
}
但是由于你所经过的只是你的警卫的类型名称,所以想不出办法来做到这一点。我是否应该咬紧牙关,为每个角色编写单独的警卫类,并打破使用单个参数化类型的优雅幻想?