我正在遵循 @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
子对象的东西,它会动态地添加、删除和更新。