Angular2Token使用来自额外用户界面的数据

时间:2017-09-18 19:52:35

标签: angular

我有一个工作用户注册,其中包含接口中的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();
}

如果有人能告诉我错过哪些内容来获取这些数据会很棒。谢谢!

1 个答案:

答案 0 :(得分:1)

首先,如果要将用户缓存在提供程序中,则应使用.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(...);
}