Как получить доступ к отдельным записям с FireBase / Angularfire (Angular App)
-
21-12-2019 - |
Вопрос
Извините, если это массивно нуб вопрос, но я новичок в Firebase (хотя это кажется потрясающе).
У меня есть список книг, сохраненных в Firebase из-за углового приложения. Я могу отобразить их на экране Fine, используя следующий код:
var db = new Firebase("https://xxxxx.xxxxx.com");
$scope.books = $firebase(db);
.
Затем я петлю через книги и плюю их в список.
Когда я нажимаю на каждую книгу, я хочу, чтобы она взяла меня на просмотр, что отображает информацию о книге. До Firebase я сделал это:
.controller('BookDetailCtrl', function($scope, $stateParams, Books) {
$scope.book = Books.get($stateParams.bookId);
})
.
А затем выпивать информацию на экран.
Как я могу сделать то же самое в Firebase, так как книги не имеют идентификатора, но имеют случайные строки в качестве клавиш.
Я просматривал документы, но либо пропустил это, либо я смотрю на вещи неправильно ...
Любая помощь была бы здоровой, спасибо
Добавление скриншота Firebase Forge - мне нужно получить доступ к отдельной книге, как я могу получить эти случайные идентификаторы Firebase Firebase для Keys / ID?
Решение
Вы можете использовать $ firebase для этого:
$scope.book = $scope.books.$child( bookId );
.
Но он не является строго необходимым, так как основной целью ангулярнойфе - автоматизировать много аспектов управления списком.Вы можете легко пойти прямо на API Firebase, если все, что мы хотим, является конкретной книгой:
var fb = new Firebase('https://kato-sandbox-books.firebaseio-demo.com');
var bookId = 'book1';
$scope.book = null;
fb.child(bookId).on('value', function(snap) {
$timeout(function() { $scope.book === snap.val(); });
});
.