Есть ли только * ngFor для воспроизведения пользовательских данных? Я использую это для получения всех пользователей из database.but теперь мне нужно нажать кнопку и показать одну за другой детали из базы данных.
это мой файл items.services.ts
import { Injectable } from '@angular/core';
import { AngularFirestore, AngularFirestoreCollection } from '@angular/fire/firestore';
import { AngularFireAuth } from 'angularfire2/auth';
import {AngularFireDatabase, AngularFireList, AngularFireObject} from 'angularfire2/database';
import { Observable } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class ItemService {
values: AngularFireObject<unknown>;
userId: string;
}
constructor(private ebass: AngularFirestore, private db: AngularFireDatabase, private afAuth: AngularFireAuth)
getItemsList() {
this.values = this.db.object(`signup/${this.userId}`);
return this.values;
}
И это мой файл profile.component.ts. Я хочу получить детали по идентификатору пользователя и отобразить их в файле profile.component.html.
import { Component, OnInit } from '@angular/core';
import { AngularFireAuth } from 'angularfire2/auth';
import {ItemService} from '../../services/item.service';
import {SnapshotAction} from '@angular/fire/database';
@Component({
selector: 'app-profile',
})
export class ProfileComponent implements OnInit {
value: SnapshotAction<Item[]>;
constructor(private itemService: ItemService, private afAuth: AngularFireAuth) {}
ngOnInit() {
this.itemService.getItemsList().snapshotChanges().subscribe(user => {
this.value = user;
});
console.log(this.value);
}
}
interface Item {
id?: string;
mail?: string;
mobile?: string;
land?: string;
username?: string;
firstname?: string;
}