gpt4 book ai didi

json - 使用 Angularfire2 按键排除项目

转载 作者:搜寻专家 更新时间:2023-10-30 21:50:39 24 4
gpt4 key购买 nike

我有一个带有这个 JSON 的 Firebase 数据库:

"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...

我使用 Angular 4 将 Name 字段输出为标题,将单个项目输出为列表项:

app.help-screen 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>

app-help-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 执行这样的基本查询吗?

最佳答案

Firebase 不支持排除,如果您试图在查询中这样做的话。如果您想排除字段,您需要创建单独的集合。

在您的情况下,对于我收集到的您想要完成的内容,有一个更简单的解决方案。您可以遍历 View 中的所有 Object.keys(item) 并打印出键和值(只要键不是名称)。

关于json - 使用 Angularfire2 按键排除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45242463/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com