Angular 在observable(4)中保存数据
我想在登录到observable后保存用户数据,稍后在profile页面中检索数据。 我有一个简单的user.service.tsAngular 在observable(4)中保存数据,angular,ionic-framework,ionic4,injectable,Angular,Ionic Framework,Ionic4,Injectable,我想在登录到observable后保存用户数据,稍后在profile页面中检索数据。 我有一个简单的user.service.ts @Injectable() export class UserService { private _user: BehaviorSubject<IRegisterUser> = new BehaviorSubject<IRegisterUser>(null); public user$: Observable<IRegist
@Injectable()
export class UserService {
private _user: BehaviorSubject<IRegisterUser> = new BehaviorSubject<IRegisterUser>(null);
public user$: Observable<IRegisterUser> = this._user.asObservable();
constructor(public afAuth: AngularFireAuth) {}
public setUser(user) {
this._user.next(user)
}
但我的回答是null
我已经将user.service.ts放在app.module和profile.module的提供者中,但我可能遗漏了其他内容
我已经将user.service.ts放在app.module和profile.module的提供者中,但我可能遗漏了其他内容
出现问题,请从
profile.module
提供程序中删除UserService
。现在,profile.module
拥有自己的UserService
提供商,而不是使用全局提供商。您是否将新的用户
推到了可观察的位置?否则,您将收到默认值null
。现在,如果在订阅后将新用户推送到observable,它们将反映在配置文件.page
中。我所做的是这一点。_user.asobbservable()
并将值添加到行为主题。我应该在哪里将值推送到可观察对象?当用户登录时,我调用方法setUser(user)
,并成功更新行为主体。我在调试模式下看到了它。问题是我在profile.page.ts
中的订阅由于某种原因无法正常工作。
export class ProfilePage implements OnInit {
constructor(public userSrv: UserService) { }
ngOnInit() {
this.userSrv.user$.subscribe(resp=> {
console.log(resp)
})
}
}