In Angular2, ist es möglich, den gleichen Schutz (zum Beispiel CanActivate oder CanDeactivate), die auf mehrere Komponenten angewendet werden können? HierAngular2: Wie man den gleichen Schutz für mehrere Komponenten hat
ist eine Wache für MyComponent1
:
@Injectable()
export class MyGuard implements CanDeactivate<MyComponent1> {
canDeactivate(component: MyComponent1): Promise<boolean> {
// my code here
}
}
Ich möchte genau den gleichen Schutz für MyComponent2
, MyComponent3
usw.
Wie kann ich das umsetzen? Ich muss eine neue Schutzklasse nach Komponente deklarieren oder kann ich meine Klasse MyGuard
wiederverwenden?
Ich denke, dass der Zweifel von @ElJackiste über den Typ ist, der von der Guard-Implementierung benötigt wird. Das ist eine gute Antwort, aber vielleicht nicht die Art von Antwort, auf die er wartet. –
Die Tatsache, dass 'CanDeactivate' die Guard-Klasse für diese Komponente 'MyComponent1' nicht blockiert? –
ElJackiste
Der generische Parameter wurde nicht angezeigt. Sie möchten also verschiedene Instanzen des Wächters, die auf die Komponente spezialisiert sind, auf die der Wächter angewendet wird. Sie müssten verschiedene Instanzen bereitstellen. Ich werde meine Antwort aktualisieren. –