Я использовал
fAuth.authState.subscribe( user => {
if (user) { this.userId = user.uid }
});
однако сейчас я пытаюсь выполнить поиск внутри userProfile по идентификатору, чтобы получить значение в баллах.
getTotalPoints(){
this.db.list('/userProfile/' + this.userId).valueChanges().subscribe(
data => {
console.log(JSON.stringify(data))
this.pointsValue = data;
}
)
}
Я получаю ошибку
Ошибка выполнения
Uncaught (в обещании): Ошибка: Ошибка Reference.child: Первый аргумент был неверным путем = "/ userProfile / [объект Объект]". Пути должны быть непустыми строками и не могут содержать ".", "#", "$", "[" Или "]" Ошибка: сбой Reference.child: первый аргумент был неверным путем = "/ userProfile / [Объект Object]". Пути должны быть непустыми строками и не должны содержать ".", "#", "$", "[" Или "]" в Object.exports.validatePathString
Извините, если ответ прост, очень плохо знаком с этим.
Вот
DB
Полный код страницы
import { Component, ViewChild } from '@angular/core';
import { IonicPage, NavController, NavParams, LoadingController } from 'ionic- angular';
import { AngularFireAuth } from 'angularfire2/auth';
import { AngularFireDatabase, AngularFireList } from 'angularfire2/database';
import 'rxjs/add/operator/map';
@IonicPage()
@Component({
selector: 'page-dashboard',
templateUrl: 'dashboard.html',
})
export class DashboardPage {
pointsValue: {}
userId = {}
tasks:Array<any> = [];
constructor(public navCtrl: NavController, public navParams: NavParams, public db: AngularFireDatabase, public afAuth: AngularFireAuth, public loadingCtrl: LoadingController) {
afAuth.authState.subscribe( user => {
if (user) { this.userId = user.uid }
});
this.getTotalPoints()
this.tasks = [
{
name: 'Clean bedroom',
status: '100'
},
{
name: 'Empty dishwasher',
status: '100'
},
{
name: 'Take dog for a walk',
status: '100'
},
];
}
checkUser() {
console.log(this.userId);
}
getTotalPoints(){
this.db.list('/userProfile/' + this.userId).valueChanges().subscribe(
data => {
console.log(JSON.stringify(data))
this.pointsValue = data;
}
)
}
}