获取$ key对象实时数据库Firebase
我正在基于每个对象的ID或$key
实现Firebase实时数据库中的动态路由。我想要的是获得身份证,我无法找到方式,我得到的值为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;}
回答:
用方括号来访问对象的属性,proyecto['$key']
<a class="btn btn-primary" [routerLink]="['/portafolio', proyecto['$key']]">Ver detalles</a>
回答:
感谢@Hareesh分享相关主题:https://stackoverflow.com/a/47291970/8312532
这为我工作:
portafolio.component.ts
import { Component, OnInit } from '@angular/core'; import { AngularFireDatabase, AngularFireList} from 'angularfire2/database';
import { Observable } from "rxjs/Observable";
@Component({
selector: 'app-portafolio',
templateUrl: './portafolio.component.html',
styleUrls: ['./portafolio.component.scss']
})
export class PortafolioComponent implements OnInit {
todosProyectos: AngularFireList<any>;
proyectos: Observable<any[]>;
constructor(private db: AngularFireDatabase) { }
ngOnInit() {
this. todosProyectos = this.db.list('proyectos');
this.proyectos = this.todosProyectos.snapshotChanges().map(changes => {
return changes.map(c => ({ key: c.payload.key, ...c.payload.val() }));
});
}
}
portafolio.component.html
<div class="container mt-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>
以上是 获取$ key对象实时数据库Firebase 的全部内容, 来源链接: utcz.com/qa/265656.html