【发布时间】:2018-06-08 04:39:43
【问题描述】:
我正在 Firebase 的实时数据库中根据每个对象的 ID 或 $key 实现动态路由。我想要的是获取ID,但我找不到方法,我得到了undefinied的值。有什么想法吗?
portafolio.component.html
<div class="container my-5">
<h1>Portafolio</h1>
<div class="row">
<div class="col-md-4" *ngFor="let proyecto of proyectos | async">
<div class="card my-3">
<div class="card-body">
<h4 class="card-title">{{ proyecto.titulo }}</h4>
<a class="btn btn-primary" [routerLink]="['/portafolio', proyecto.$key]">Ver detalles</a>
</div>
</div>
</div>
</div>
portafolio.component.ts
import { Component, OnInit } from '@angular/core';
import { AngularFireDatabase, AngularFireList, AngularFireObject } from 'angularfire2/database';
@Component({
selector: 'app-portafolio',
templateUrl: './portafolio.component.html',
styleUrls: ['./portafolio.component.scss']
})
export class PortafolioComponent implements OnInit {
proyectos: any;
constructor(private db: AngularFireDatabase) { }
ngOnInit() {
this.proyectos = this.db.list('proyectos').valueChanges();
}
}
proyecto.ts
export interface Proyecto {
$key?: string;
titulo?: string;
destacado?: string;
descripcion?: string;}
【问题讨论】:
-
您需要使用
snapshotChanges来获取密钥。检查这个answer -
snapshotChanges ()为我工作出色
标签: angular typescript firebase firebase-realtime-database angularfire