我在从实时数据库(Firebase)获取一条记录时遇到了问题。我是积极的角度,并连接到火力基地。
我得到了所有的记录,但我找不到其中的一个。
服务文件:
import { Injectable } from '@angular/core';
import { AngularFireDatabase, AngularFireList, AngularFireObject } from '@angular/fire/database';
import { User } from '../shared/user';
@Injectable({
providedIn: 'root'
})
export class CrudService {
usersRef: AngularFireList<any>;
userRef: AngularFireObject<any>;
constructor(private db: AngularFireDatabase) { }
// Read User
GetStudent(id: string) {
this.userRef = this.db.object('users/' + id);
return this.userRef;
}
// Read Users List
GetUsersList() {
this.usersRef = this.db.list('users');
return this.usersRef;
}
}用户页组件:
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { CrudService } from '../shared/crud.service';
import { User } from './../shared/user';
@Component({
selector: 'app-user-page',
templateUrl: './user-page.component.html',
styleUrls: ['./user-page.component.css']
})
export class UserPageComponent implements OnInit {
constructor(private activatedRoute: ActivatedRoute, private crudApi: CrudService) {}
User: User[];
ngOnInit() {
let userid = this.activatedRoute.snapshot.params.userid; //ID User from URL
this.crudApi.GetStudent(userid).snapshotChanges().subscribe(data => {
})
}
}我怎么能得到一张唱片?
发布于 2021-02-26 22:56:39
,我不知道这是否是最好的解决方案,但它有效!
我做了最简单的方法。我刚在对象路径中写了id,它就能工作了!
user: any[];
this.db.object('users/'+userid).valueChanges().subscribe(user => {
this.user = [];
this.user.push(user);
console.log(this.user);
})https://stackoverflow.com/questions/66366225
复制相似问题