Я пробовал много способов получить данные этой переменной, следует отметить, что я начинаю с Ioni c 5 и angular 9.
В моей ** аутентификации. Service. ts ** У меня есть следующее:
export class AutenticationService {
userData: any;
constructor(
public afStore: AngularFirestore,
public fireAuth: AngularFireAuth,
public router: Router,
public ngZone: NgZone,
private Navega: NavController
) {
this.fireAuth.authState.subscribe(user => {
if (user) {
this.userData = user;
localStorage.setItem('user', JSON.stringify(this.userData));
JSON.parse(localStorage.getItem('user'));
} else {
localStorage.setItem('user', null);
JSON.parse(localStorage.getItem('user'));
}
});
}
SignIn(values: any) {
return new Promise<any>((resolve, reject) => {
this.fireAuth.signInWithEmailAndPassword(values.email.toLowerCase(), values.password).then(
res => {
resolve (res);
},
err => reject(err));
});
}
В ** login.ts ** у меня есть следующее
export class LoginPage implements OnInit {
validationsForm: FormGroup;
errorMessage = '';
successMessage = '';
valores: any;
logo = '';
constructor(
public authSrv: AutenticationService,
public router: Router,
public loading: LoadingService,
private menuCtrl: MenuController,
public frmBuilder: FormBuilder,
public alert: AlertasService,
private navega: NavController
) { }
ngOnInit() {}
logIn(values: any) {
this.loading.present('Iniciando...');
this.authSrv.SignIn(values)
.then((res) => {
this.loading.dismiss();
this.validationsForm.controls.password.setValue('');
this.navega.navigateForward(['/dashboard']);
}).catch((error) => {
localStorage.removeItem('user');
this.loading.dismiss();
window.alert(error.message);
});
}
в ** dashboard.ts ** это проблема использования данных переменной userData: любая
export class DashboardPage implements OnInit {
Username: any;
constructor(
public authSrv: AutenticationService,
private menuCtrl: MenuController,
public Navega: NavController,
public loading: LoadingService
) { }
ngOnInit() {
this.menuCtrl.enable(true);
this.Username = this.authSrv.userData;
console.log(this.authSrv.userData);
}
** *console.log (this.authSrv.userData);
** печатает ** undefined **, но при просмотре в браузере я вижу, что в loclstorage, если данные там, в магазин. Я хочу получить ** displayName ** переменной ** Username **. Пожалуйста, помогите.