【发布时间】:2018-09-05 15:10:01
【问题描述】:
我正在使用 node js 后端做一个 Angular 4 应用程序。我做了登录表单,一切都很好我想实现“记住我”的功能。
这是我的登录服务:
import { Injectable } from '@angular/core';
@Injectable()
export class loginService{
rememberMe: boolean;
constructor() { }
login(credentials) {
sessionStorage.setItem('Name', credentials.firstName);
sessionStorage.setItem('token', credentials.token);
}
getCostumer() {
const user = {
Name: sessionStorage.getItem('firstName'),
token: sessionStorage.getItem('token')
}
这是组件:
constructor(private signInService: SignInService, private router: Router,
public dialog: MatDialog, private authService: AuthService) { }
ngOnInit() { }
login(costumer) {
this.loginService.login(costumer).subscribe((data) => {
this.authService.login(data);
this.router.navigate(['home']);
this.dialog.closeAll();
}, err => {
this.message = err._body;
console.log(this.message);
});
}
}
【问题讨论】:
-
你有什么错误吗?你尝试了什么?
-
是的,我想你已经通过设置
sessionStorage.setItem('Name', credentials.firstName); sessionStorage.setItem('token', credentials.token);解决了你的问题 -
您的 loginService 类没有
signIn方法,您也从未在构造函数中声明该方法。您发布的代码完全没有意义 -
这不是问题,当我单击名为“记住我”的登录表单上的复选按钮并在打开新的 googlechrome 窗口后登录时,我发现我自己已连接或关闭导航器并重新打开它我发现我自己连接了
标签: javascript angular typescript local-storage angular2-template