【发布时间】:2016-10-09 05:52:49
【问题描述】:
我有两个不同的组件:一个是 login 组件,另一个是 users 组件。
在登录组件中,我使用MakeLogin 函数进行身份验证,然后从 API 获取用户详细信息并通过路由导航到主页(在主页中启动用户组件)
我从 API 获取的用户详细信息保存到对象 UserItem。该对象需要在用户组件中处于活动状态,我无法做到这一点
我想知道什么是让它工作的最佳方法
谢谢!
登录组件:
export class LoginComponent implements OnInit{
token : string;
loginDetails : LoginItem;
LoginStatus : boolean;
error : string;
private loader = false;
currentUser : UserItem;
constructor(private LoginService : LoginService,private router : Router){}
ngOnInit(){
this.LoginStatus = this.LoginService.CheckLoginStatus();
if(this.LoginStatus === true){
this.router.navigate(['']);
}
}
MakeLogin(Email:string,Password:string) {
this.error = null;
this.loader = true;
this.loginDetails = new LoginItem(Email,Password);
this.LoginService.PostLogin(this.loginDetails).subscribe(data => {
if(data === true){
this.token = localStorage.getItem('id_token');
this.UsersService.GetUserDetailsFromDB(this.token).subscribe(data =>{
this.currentUser = new UserItem(data.firstName,data.lastName,data.email,data.id);
this.router.navigate([''])
});
}
}, error =>{
if(error === 401){
console.log(error);
this.loader = false;
this.error = "Username or Password incorrect";
}
});
}
}
【问题讨论】:
标签: angular