Я смотрю MEAN Stack - Mean Auth App Tutorial в Angular 2, так как я новичок в Angular и использую Angular 8, некоторые коды устарели из-за нового обновления. Итак, у меня есть этот код, и я не знаю, как его исправить.
Это мой рабочий код в Auth.service.ts
В этих кодах нет ошибок
authenticateUser(user){
let headers = new HttpHeaders();
headers.append('Content-Type','application/json');
return this.http.post('http://localhost:3000/users/authenticate', user,{headers: headers})
}
storeUserData(token, user){
localStorage.setItem('id_token', token);
localStorage.setItem('user', JSON.stringify(user));
this.authToken = token;
this.user = user;
}
logout(){
this.authToken = null;
this.user = null;
localStorage.clear();
}
В моем login.component.ts есть ошибка, показывающая
Свойство 'token' не существует для типа 'Object
Свойство 'user' не существует для типа 'Object
Свойство' msg 'не существует для типа' Object
Это мой код login.component.ts
onLoginSubmit(){
const user = {
username: this.username,
password: this.password
}
this.authService.authenticateUser(user).subscribe(data => {
if(data){
this.authService.storeUserData(data.token, data.user);
this.flashMessage.show('You are now logged in', {
cssClass: 'alert-success',
timeout: 5000});
this.router.navigate(['dashboard']);
} else {
this.flashMessage.show(data.msg, {
cssClass: 'alert-danger',
timeout: 5000});
this.router.navigate(['login']);
}
});
}
файл login.components.ts.Если я ввел неправильные учетные данные, выполняется вход.
onLoginSubmit(){
const user = {
username: this.username,
password: this.password
}
this.authService.authenticateUser(user).subscribe(data => {
console.log(data);
if(user){
this.authService.storeUserData(data.token, data.user);
this.flashMessage.show('You are now logged in', {
cssClass: 'alert-success',
timeout: 5000});
this.router.navigate(['dashboard']);
} else {
this.flashMessage.show(data.msg, {
cssClass: 'alert-danger',
timeout: 5000});
this.router.navigate(['login']);
}
});
}