2016-02-22 5 views
0

Я пытался получить доступ к ребенку из синхронизирована массива после того, как он был добавлен как так:Firebase - Доступ к Добавлено ребенку из синхронизированных возвращает массив -1

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

В ответ на новые пункты будут добавлены в $firebaseArray(), вам необходимо расширить его и переопределить $$added() как описано здесь: https://www.firebase.com/docs/web/libraries/angular/guide/extending-services.html#section-firebasearray

Несколько актуальных вопросов: