我遵循@Anant在Firebase blog上很好地描述的「非規範化」數據模式。爲了查詢和渲染子對象,他建議在父對象上偵聽child_added
事件以獲取子ID,然後分別用.once('value', fnc)
查詢這些子對象以呈現它們。從博客文章(他用的是張貼鏈接爲家長和評論兒童 - 認爲reddit的或黑客新聞):從AngularJS的Firebase呈現對象的子項
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
的子對象,它們將動態添加,刪除和更新。
嗯。除了缺乏自動化外,將.once的結果推入數組,將其添加到$ scope並使用ngRepeat?有什麼問題? – bennlich
是的,我最初測試它時有一個bug;我已經更新了這個問題。 – hiattp