0

我正在遵循 @Anant 在Firebase 博客上很好地描述的“非规范化”数据模式。child_added为了查询和渲染子对象,他建议在父对象上监听事件以获取子对象 ID,然后单独查询这些子对象.once('value', fnc)以渲染它们。从博客文章中(他使用发布的链接作为父级,使用评论作为子级——想想 Reddit 或 Hacker News):

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.
  ));
});

[原文如此]

我正在尝试将其与我的 AngularJS 视图相协调,因为将结果添加.once$scope数组中并使用ngRepeat会给你留下一个静态列表(如果它们被另一个客户端更改或删除,孩子将不会实时更新)。

换句话说,我想要一个类似于angularFireCollection子对象的东西,它会动态地添加、删除和更新。

4

1 回答 1

1

我认为您正在寻找的是AngularFireFirebaseIndex的组合。我还没有检查过结合这些仍然有效,但加藤报告说它在过去

不过,暂时忽略这一点,我认为您提出的计划没有任何问题:

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

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

于 2013-10-13T08:23:14.323 回答