Angular / Firebase - Return 来自 Firebase 的键和值
Angular / Firebase - Return the Key and the Value from Firebase
我正在做一个 Angular 项目,按照一些教程设法从 firebase 数据库中获取一些数据。
这是获取值的代码
<ul>
<li class="text" *ngFor="let item of items | async">
{{item.$value}}
</li>
</ul>
我的问题是...我正在获取值,但我也想获取名称(或键,如果是名称)。
例如数据如下所示:
items
name: car,
value: ford
此代码:
<ul>
<li class="text" *ngFor="let item of items | async">
{{item.$value}}
</li>
</ul>
和JS代码:
export class AppComponent {
items: FirebaseListObservable<any[]>;
snippets: FirebaseListObservable<any[]>;
constructor(db: AngularFireDatabase) {
this.items = db.list('/items');
}
}
只会 return 值。
如何同时获得两者
如果您使用的是 angularfire2 库,只需传递 preserveSnapshot
参数
import { Component} from '@angular/core';
import { AngularFireDatabase} from 'angularfire2/database';
@Component({
selector: 'app-root',
template: `
<h1>{{key | async}}</h1>
<h1>{{value | async}}</h1>
`
})
export class AppComponent {
key: any;
value: any;
constructor(db: AngularFireDatabase) {
this.items = db.list('/items', { preserveSnapshot: true });
this.items
.subscribe(snapshots => {
snapshots.forEach(snapshot => {
this.key = snapshot.key;
this.value = snapshot.val()
});
})}
}
更多信息请访问官方文档here
我正在做一个 Angular 项目,按照一些教程设法从 firebase 数据库中获取一些数据。
这是获取值的代码
<ul>
<li class="text" *ngFor="let item of items | async">
{{item.$value}}
</li>
</ul>
我的问题是...我正在获取值,但我也想获取名称(或键,如果是名称)。
例如数据如下所示:
items
name: car,
value: ford
此代码:
<ul>
<li class="text" *ngFor="let item of items | async">
{{item.$value}}
</li>
</ul>
和JS代码:
export class AppComponent {
items: FirebaseListObservable<any[]>;
snippets: FirebaseListObservable<any[]>;
constructor(db: AngularFireDatabase) {
this.items = db.list('/items');
}
}
只会 return 值。
如何同时获得两者
如果您使用的是 angularfire2 库,只需传递 preserveSnapshot
参数
import { Component} from '@angular/core';
import { AngularFireDatabase} from 'angularfire2/database';
@Component({
selector: 'app-root',
template: `
<h1>{{key | async}}</h1>
<h1>{{value | async}}</h1>
`
})
export class AppComponent {
key: any;
value: any;
constructor(db: AngularFireDatabase) {
this.items = db.list('/items', { preserveSnapshot: true });
this.items
.subscribe(snapshots => {
snapshots.forEach(snapshot => {
this.key = snapshot.key;
this.value = snapshot.val()
});
})}
}
更多信息请访问官方文档here