Angular2Token消耗了来自用户界面的数据



我有一个工作用户注册,其中包含诸如firstName和firstName和lastname之类的其他属性。我将其设置为Angular界面,并使用Angular2Token示例的GET请求调用UserData,这使我恢复了所有数据。

export interface User {last_name: string, first_name: string}

auth.service.ts

user: User[];
getProfileData() {
return this._tokenService.get(this.userDataUrl + '.json')
  .map(res => res.json()).subscribe(
    data => {
      this.userSignedIn$.next(true);
      this.user = data.user;
      console.log(data);
      return data
    },
    error => {console.log(error)
    }
  );
}

我的想法现在是将JSON数据加载到配置文件页面中,并带有用户可以编辑其数据的表单。但是使用我的exisitng方法,我无法访问接口的数据。

profile.component.ts

getUserData() {
  this.authService.getProfileData();
}
ngOnInit() {
  this.getUserData();
}

如果有人可以向我展示我错过了一些获取这些数据的东西,那就太好了。谢谢!

首先,如果要在提供商中缓存用户,则应使用.do()。

然后不要在服务中订阅您的服务调用,请在组件中进行懒惰加载。

getProfileData() {
  return this._tokenService.get(this.userDataUrl + '.json')
    .map(res => res.json())
    .do(data => {
      this.userSignedIn$.next(true);
      this.user = data.user;
      console.log(data);
      return data
    });
}


getUserData() {
  this.authService.getProfileData().subscribe(.....).catch(...);
}

最新更新