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