In Angular 2 versuche ich @canActivate für meine Routen zu arbeiten, aber scheint nicht zu funktionieren.In Angular 2 versuche ich @canActivate für meine Routen zu arbeiten, aber scheint nicht zu funktionieren
Dies ist die Version von meinem Router (nicht sicher, ob es mit dieser Version funktioniert): "@ Winkel/Router": Diese "2.0.0-rc.1",
einig meine app.ts Datei:
import {AuthGuard} from './interceptor';
@Component({
moduleId: module.id,
selector: 'app',
providers: [RouterOutlet, RouterOutletMap, ROUTER_PROVIDERS, HTTP_PROVIDERS, HTTP_BINDINGS],
template: `
<div class="content">
<router-outlet></router-outlet>
</div>
`,
directives: [ROUTER_DIRECTIVES]
})
@Routes([
{ path: '/', component: Home, canActivate: [AuthGuard]},
{ path: '/home', component: Home, canActivate: [AuthGuard]}
])
export class AppComponent {
constructor(){
}
}
Das ist mein authGuard Service:
import { Injectable, Directive } from '@angular/core';
import { CanActivate } from '@angular/router';
@Directive({
selector: 'authguard'
})
@Injectable()
export class AuthGuard implements CanActivate {
canActivate() {
console.log('AuthGuard#canActivate called');
return true;
}
}
Gibt es etwas ähnliches, das ich für diese Version des Routers verwenden kann? – AngularM
Sie können 'CanActivate' für die Komponente implementieren, für die Sie sie verwenden möchten. Ich würde dringend empfehlen, zu aktualisieren. Dieser Router ist veraltet und wird in keiner Weise aktualisiert oder unterstützt. –
Zu viel Arbeit, um dies jetzt zu tun – AngularM