【发布时间】:2016-09-09 15:31:28
【问题描述】:
我对 angular2 很陌生,但我尝试编写一个登录组件。一切正常,除了成功登录后我想在我的会话服务中设置用户名和密码(我存储用户名和密码以创建基本的身份验证标头)。可悲的是this._session.loggedIn 永远不会被设置。有人知道为什么吗?
export class LoginComponent {
public email = '';
public password = '';
constructor(
private _router: Router,
private _auth: AuthenticationService,
private _session: SessionService) {
}
login() {
this._auth.login(this.email, this.password)
.subscribe(
data => {
this._session.currentProfile = data;
this._session.loggedIn = true;
this._router.navigate(['Home']);
},
err => {}
);
}
}
身份验证服务:
login(email, password){
return this._http.get('/profile')
.map(res => res.json());
}
【问题讨论】:
-
什么是 login() 方法?什么时候应该调用它?如果您订阅,它不会动态调度事件。
-
@KamilMyśliwiec 我添加了登录方法。只是一个简单的http get。它在按钮按下时被调用。唯一的问题是,在订阅回调中,数据没有在会话服务中设置
标签: angular