很抱歉,如果这是一个大规模的菜鸟问题,但我是Firebase的新手(虽然到目前为止看起来很棒)。
我有一个从Angular应用程序中保存到Firebase的书籍列表。我可以使用以下代码在屏幕上显示这些:
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中执行相同操作,因为图书没有ID,但是随机字符串作为键。
我查看了文档,但要么错过了,要么我正在以错误的方式看事情......
任何帮助都会很棒,谢谢
添加firebase forge的屏幕截图 - 我需要访问一本单独的书籍,如何获取firebase用于密钥/ id的这些随机ID?
答案 0 :(得分:1)
您可以使用$ firebase:
$scope.book = $scope.books.$child( bookId );
但它并非绝对必要,因为AngularFire的主要目的是自动化许多列表管理方面。如果我们想要的只是一本特定的书,您可以轻松地直接访问Firebase API:
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(); });
});