Я ищу, как использовать службы для получения данных пользователя
пользователи.services.ts
import { AngularFire, AuthProviders, AuthMethods, FirebaseListObservable}
export class Users {
uid :string = '8fbEOShqIigfA4u84cyvJcLkv5u1';
constructor(public af: AngularFire) {}
getUserObservable(){
return this.af.database.object('/users/' + this.uid);
}
}
А вот и мой home.ts
import { Users } from '../../services/users.service';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
user: any;
isAuthenticated: boolean = true;
constructor(private userService: Users) {}
ngOnInit(){
this.userService.getUserObservable().subscribe((userObject) => {
this.user = userObject;
console.log("result : ", this.user);
});
}
}
В консоли получаю:
result : Object {imgLink: "blabla.jpg", money: 0, score: 0, uid: "8fbEOShqIigfA4u84cyvJcLkv5u1", username: "Luis Willnat"…}
Но в ионном представлении:
Cannot read property 'money' of undefined
Думаю, это из-за чего-то асинхронного (в чем я недостаточно хорошо разбираюсь), но не знаю из-за чего..
Большое спасибо за Вашу помощь :)
this.user
, что, вероятно, не определено.getUser
в вашем сервисе должен выполнить запрос и вернуть пользователя компоненту. - person AJT82   schedule 28.02.2017map
) Но спасибо, что указали на это! :) - person AJT82   schedule 28.02.2017