Ich denke, dass Sie die get/set-Syntax von Typoskript nutzen könnte zu erkennen, wenn Ihre authentifizierten Eigenschaft Ihres Service aktualisiert:
private _authenticated:Boolean = false;
get authenticated():Boolean {
return this._authenticated ;
}
set authenticated (authenticated Boolean) {
// Plugin some processing here
this._ authenticated = authenticated;
}
Wenn ein Wert zuweisen, stellen Sie den“authentifiziert "Block wird aufgerufen. Zum Beispiel mit einem solchen Code:
this.authenticated = true;
Sehen Sie diese Frage für weitere Informationen:
Das heißt Sie auch eine EventEmitter Eigenschaft in den Dienst nutzen können. Wenn die authentifizierte Eigenschaft aktualisiert wird, kann das entsprechende Ereignis ausgelöst werden.
export class AuthService {
authenticatedChange: Subject<boolean> = new Subject();
constructor() {}
emit(authenticated) {
this.authenticatedChange.next(authenticated);
}
subscribe(component, callback) {
// set 'this' to component when callback is called
return this.authenticatedChange.subscribe(data => {
callback(component, data);
});
}
}
Siehe diesen Link für weitere Informationen:
Hallo @Sasxa also, wenn ich z. 5 Komponenten. 'home.component.ts',' footer.component.ts', 'navbar.component.ts',' x.component.ts' und 'user.component.ts'. Angenommen, diese 5 Komponenten, und wenn ich nach authentifizierten überprüfen möchte. Ich muss hinzufügen, inject das folgende: 'Konstruktor (private _authService: AuthService) {...}' zu allen meinen 5 Komponenten. Ist das richtig? und mach ein 'ngOnInit' für alle 5 Komponenten?Brauchen Sie Hilfe, um das Angular2-Authentifizierungskonzept zu verstehen. –
Es gibt viele Optionen/Auswahlmöglichkeiten. Alles hängt davon ab, was Sie tun. Sie können sich bei jeder Komponente oder nur bei der Root-Komponente authentifizieren. Es ist ein komplexes Thema, Sie müssen entscheiden, was am besten für Ihre App ist (; – Sasxa
Könnten Sie mich auf Diskussion/Forum/Blog/Artikel zu diesem Thema? –