Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 在observable(4)中保存数据_Angular_Ionic Framework_Ionic4_Injectable - Fatal编程技术网

Angular 在observable(4)中保存数据

Angular 在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

我想在登录到observable后保存用户数据,稍后在profile页面中检索数据。 我有一个简单的user.service.ts

  @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)
   })

  }

}