Übergeben Sie parameter in der route guard

Arbeite ich an einer app, die eine Menge von Rollen, die ich verwenden müssen, die Wachen zu blockieren, die navigationssteuerung, um Teile der app basierend auf diesen Rollen. Ich weiß, ich kann einzelne Wache Klassen für jede Rolle, würde aber eher eine Klasse, die konnte ich irgendwie übergeben Sie einen parameter an. In anderen Worten: ich möchte in der Lage sein, etwas zu tun ähnlich wie diese:

{ 
  path: 'super-user-stuff', 
  component: SuperUserStuffComponent,
  canActivate: [RoleGuard.forRole('superUser')]
}

Aber da alles, was Sie übergeben, ist der name Ihrer Wache, kann nicht denken Sie an einen Weg, das zu tun. Soll ich einfach bisschen die Kugel und schreiben der einzelnen Klassen guard pro Rolle und zerbrechen meine illusion von Eleganz, mit einer einzigen parametrisierten Typ statt?

InformationsquelleAutor Brian Noyes | 2017-03-10
Schreibe einen Kommentar