从AngularJS中的Firebase渲染对象的子对象

时间:2013-10-13 04:38:37

标签: angularjs firebase angularfire

我跟随"非正规化" @Anant在Firebase blog上很好地描述了数据模式。要查询和呈现子对象,他建议在父级上侦听child_added个事件以获取子ID,然后使用.once('value', fnc)单独查询这些子级以呈现它们。从博客文章(他使用发布的链接作为父母和评论作为孩子 - 想想Reddit或黑客新闻):

var commentsRef =
  new Firebase("https://awesome.firebaseio-demo.com/comments");
var linkRef =
  new Firebase("https://awesome.firebaseio-demo.com/links");

var linkCommentsRef = linkRef.child(LINK_ID);
linkCommentsRef.on("child_added", function(snap) {
  commentsRef.child(snap.name()).once("value", function() {
  // Render the comment on the link page.
  ));
});

[ SIC

我试图将此与我的AngularJS视图进行协调,因为将.once的结果添加到$scope数组中并使用ngRepeat将为您提供静态列表(如果孩子被其他客户更改或删除,他们不会实时更新。

换句话说,我希望像angularFireCollection个子对象一样动态添加,删除和更新。

1 个答案:

答案 0 :(得分:1)

我认为您正在寻找的是AngularFireFirebaseIndex的组合。我没有检查过将这些结合起来仍然有效,但Kato reports it has in the past

虽然忽略了这一点,但我认为您提出的计划没有任何问题:

  

.once的结果推送到数组中,将其添加到$scope并使用ngRepeat

在这种情况下,加藤的FirebaseIndex可能仍然有用,所以一定要检查出来。