在 Angular 17 中,我在登录服务中设置了一个可观察对象。但是,当尝试在 app.component.ts 中使用此可观察量时,它最初不会被调用。重新加载页面后工作正常。如何解决?
我希望能够在用户登录后立即获取我在 app.component. 中创建的可观察值的值。
在 LoginService 中创建BehaviorSubject 和函数来发出值:
private loggedInSubject = new BehaviorSubject<boolean>(false);
public isLoggedIn$ = this.loggedInSubject.asObservable();
login(){
// Logic to perform login
// Assuming you set loggedIn to true after successful login
this.loggedInSubject.next(true);
}
在AppComponent中: 导出类 AppComponent 实现 OnInit { 已登录:布尔值;
constructor(private loginService: LoginService) {}
ngOnInit() {
this.loginService.isLoggedIn$.subscribe((isLoggedIn) => {
this.isLoggedIn = isLoggedIn;
// Do whatever you need with isLoggedIn
});
}
}