У меня есть код, который я написал в Angular 4, и он отлично работал, теперь его часть сломана в Angular 6, и я ценю некоторую помощь.
У меня есть класс AuthService
:
export class AuthService {
private loggedIn = new BehaviorSubject<boolean>(false);
isUserLoggedIn(): Observable<boolean> {
return this.loggedIn.asObservable();
}
isUserLoggedIn(): Observable<boolean> {
return this.loggedIn.asObservable();
}
login(username: string, password: string) {
let body =
{
username: username,
password: password
};
return this._http.post(Settings.apiEndpoint + "users/authenticate", body)
.map(res => {
localStorage.setItem('token', res["token"]);
localStorage.setItem('username', res["username"]);
this.isLoggedIn = true;
this.loggedIn.next(true);
return res;
})
.catch(error => {
this.clearAuthData();
return Observable.throw(error)
});
}
logout() {
localStorage.clear();
this.isLoggedIn = false;
this.loggedIn.next(this.isLoggedIn);
}
}
и в моем AppComponent
я подписываюсь на эту тему следующим образом:когда я вхожу, это не так.Насколько я могу судить по тому, что было в Angular 4, код не тронут, поэтому я не могу понять, почему он не запускается.