【发布时间】:2015-05-27 21:04:32
【问题描述】:
我正在使用 AngularFire 并有一个 ng-repeat 列表,其中包含特定于该项目“作者”的数据(多个用户可以添加到列表中),例如名称、位置等。我是不要将该数据写入ng-repeat 迭代的数组中,因为它将来可能会发生变化。相反,该作者特定的数据存储在不同的位置,因此目标是如果作者更改了他们的信息,所有这些都会反映在列表中。
举一个人为的例子,假设我正在遍历来自不同作者的书籍列表。该列表将包含特定于书籍的数据(例如标题、出版日期等),但我还希望在列表中显示作者的信息。我不想将作者的信息直接包含在图书数据中,而是简单地引用该作者 ID,并提取他们个人资料中的任何数据,因此如果他们更改姓名,它将反映他们所有图书列表中的更改。
这意味着我需要对 Firebase 进行异步调用,以通过模板函数(例如 {{getAuthorName(authorId)}})检索每个列表项的信息。唯一的问题是它们是异步调用,并且模板函数在数据可用之前进行评估。
我已经研究过如何完成,但尚未找到满足我需要的解决方案。 The answers here 看起来很接近,但它们似乎不再在 Angular >= 1.2.0 中工作,并且它们不考虑必须为每个模板函数调用返回不同的数据。
更新
这是我现在拥有的JSFiddle。我已经取得了一些进展,但现在返回的只是promise 预期的对象。我不确定如何在这种情况下实现.then 以获得实际值。
任何帮助都会很棒。
【问题讨论】:
-
您能粘贴您尝试过的内容吗?或者创建一个 jsFiddle/plunkr 来演示问题?
-
当然。查看更新后的问题。
标签: angularjs firebase angularfire