我正在使用 Ionic 和 Firebase,我在链接数据方面遇到了几个问题,无论是操作还是打印。我已经阅读了文章并观看了几个版本之间不同方法的视频,但还没有解决它,我必须认识到我现在有一个可怕的混乱(我当然是初学者)。让我解释更多细节:
版本:
“angularfire2”:“^5.0.0-rc.6”
“firebase”:“^4.10.1”
“离子角”:“3.9.2”,
Firebase 结构示例:
我需要打印的内容:
现在,我可以使用“-L5uzsn0C4-FYiS7HiY”字段来检索和打印订单列表,当然“用户”字段显示为“-L5uzsn0C4-FYiS7HiY”,但我需要显示用户“卡洛斯”的名称。
方法:
首先,我尝试显示嵌套的 *ngFor,例如:
...但没有像始终打印的那样正确显示,即使该订单没有用户。
之后尝试打印一个函数
getUserName(order.payload.val().user)
,但似乎不可能在那里调用/打印函数......之后,我调查了是否有一种方法可以使用“JOINS”向 Firebase 抛出查询,就像在 SQL 数据库中一样。看了几个视频,没有找到解决办法。例如在他们使用的这个官方视频中,
db.child
但这个功能似乎不可用,我想是版本问题......对于最后一次尝试,我认为最好的方法是通过代码检索订单列表,然后使用 list.user 检索用户对象并在打印之前将其推送到列表中,但这非常困难。但我什至无法操作检索到的列表的数据!
我检索订单列表:
ordersList: any;
this.ordersList = this.afd.list('/orders/2018/03-marzo/').snapshotChanges();
此时ordersList
已正确打印,*ngFor
但我想通过代码访问键和值。我观看了使用Ionic3 和 angularfire5 的视频.map
(见 2:02 分钟),我正在使用此代码,但它不起作用,没有检索到错误,但什么也不打印
this.ordersList$ = this.afd.list('/orders/2018/03-marzo/')
.snapshotChanges() //Key and value (valueChanges only value)
.map(
changes => {
console.log(changes.map(c => ({
key: c.payload.key,
...c.payload.val(),
})));
});
- 你能帮我检索列表和转换值吗?
- 是否有任何可用的 angularfire5 文档供我观看更新信息?我看过很多以前版本的示例。
提前致谢。
相关问题 相关问题似乎是为以前的 angularfire 版本开发的,因为我无法使用如图所示的“.map”函数 显示从 firebase 到 ionic 的嵌套数据