とキーで項目を除外:は、私がこのJSONとFirebaseデータベースを持っているAngularfire2
"help_text": [{
"Name": "Blue Dye",
"Max Stack": 5,
"Potion Quantity": 1,
"Price": 10,
"Stackable": true
},
{
"Name": "Blue Gem",
"Max Stack": 20,
"Price": 200,
"Quest Item": true,
"Stackable": true
},
{
"Name": "Blue Gem Fragment",
"Max Stack": 20,
"Price": 50,
"Quest Item": true,
"Stackable": true
},
{
"Name": "Blue Flower",
"Max Stack": 20,
"Mesh Y": -0,
"Model": "blue_flower",
"Price": 5,
"Stackable": true
}
...etc etc...
私は出力にリスト項目としてヘッダおよび個々の項目としてName
フィールド角度4を使用しています:
をapp.help画面component.html
<div class="help-item-box" *ngFor="let item of items | async">
<h2 class="help-item-title">{{item.Name}}</h2>
<ul class="help-item-properties">
<li *ngIf="item['Potion Quantity']">Potion Quantity: {{ item["Potion Quantity"] }}</li>
<li *ngIf="item.Price">Price: {{ item.Price }}</li>
<li *ngIf="item.Stackable">Stackable: {{ item.Stackable }}</li>
<li *ngIf="item['Quest Item']">Quest Item: {{ item["Quest Item"] }}</li>
<li *ngIf="item['Max Stack']">Max Stack: {{ item["Max Stack"] }}</li>
</ul>
</div>
アプリ - ヘルプscreen.component.ts
import { Component, OnInit } from '@angular/core';
import { AngularFireDatabase, FirebaseListObservable } from 'angularfire2/database';
@Component({
selector: 'app-help-screen',
templateUrl: './app-help-screen.component.html',
styleUrls: ['./app-help-screen.component.css']
})
export class HelpScreenComponent implements OnInit {
items: FirebaseListObservable<any[]>;
constructor(db: AngularFireDatabase) {
this.items = db.list('help_text');
console.log(this.items);
}
ngOnInit() {
}
}
これは動作しますが、それは非常にエレガントではありませんし、データベース・コードは、新しいプロパティを持つオブジェクトが追加されるたびに書き換えなければならないであろうことを意味します。私が理想的にやってみたいのは、名前、モデル名、メッシュの配置値を除いて、すべてのフィールドをリスト項目として出力することです。 Angularfire2のドキュメントを見て:
https://github.com/angular/angularfire2/blob/master/docs/4-querying-lists.md
キーによってクエリから項目を除外するための方法があるようには思えません。確かにFirebaseとAngularfire2を使ってこのような基本的なクエリを実行する方法がなければなりませんか?
if? Object.keysのセットをフィルタリングしますか? –
私は除外の意味を誤解していますか? –
これは事実上正確ですが、ひどい答えです。私がそれを受け入れなければならない手紙のことで、仕事の状態についての悲しいコメントです。 –