获取$ 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

回到顶部