【发布时间】:2017-01-24 07:25:58
【问题描述】:
我正在尝试在 Ionic 2 Web 应用程序中设置登录名,并且我正在使用 observables。
我有一个带有登录方法的身份验证模块,它连接到远程数据库以记录用户;如果登录成功,我想将令牌(auth0)存储在本地存储中
所以这是在我的 auth.service.ts 中
login(user: any) {
this.http
.get(SERVER_URL, { user_data }, options)
.map((response: Response) => response.json())
.subscribe(
data => this.authSuccess(data.jwt),
err => this.handleError(err));
}
所以,这本身就可以正常工作。现在我想使用登录屏幕,所以当用户提交数据时,如果登录成功应用程序将导航到主屏幕,否则将显示错误消息。
登录组件应该是这样的
loginUser(event) {
return this.authService
.login(event.user)
.subscribe(
data => navigate_to_main,
err => display_error_and_stay_in_login);
}
所以,我需要在服务中订阅登录方法,因为我只想在登录成功时存储令牌,但我还需要在 LoginComponent 中的 loginUser 方法中订阅,以便仅在登录成功时进行导航成功。
这是怎么做到的?也许我这样做的方式不对。
有人可以帮忙吗? 谢谢!
【问题讨论】: