我已经尝试从同步数组中访问子进程,如下所示:
var postsRef = new Firebase("https://bragr.firebaseio.com/posts");
var ref = new Firebase("https://bragr.firebaseio.com");
var auth = $firebaseAuth(ref);
$scope.array.$loaded().then(function() {
// NEW POST IS ADDED:
postsRef.on('child_added', function(childSnapshot, prevChildKey) {
var index = $scope.posts.$indexFor(id);
var tmpPost = $scope.posts[index];
console.log(tmpPost); // LOGS -1
});
});
似乎在添加新帖子时,索引返回-1,这意味着该项目尚未出现在列表中。我假设在将孩子添加到所述列表时调用了child_added函数。但似乎我错了。
如何确保在添加项目后可以从列表中访问该项目? 我正在使用Angular Fire,我正在尝试在另一个用户添加新项目时更新视图。
答案 0 :(得分:0)
要回复要添加到$firebaseArray()
的新项目,您需要对其进行扩展并覆盖$$added()
,如下所示:https://www.firebase.com/docs/web/libraries/angular/guide/extending-services.html#section-firebasearray
一些相关问题: