我正试图通过firebase中的项目进行重复操作。我在控制台中有他们。但表达式不起作用。我不知道该怎么做,并尝试了一切。任何帮助都会很棒。感谢
此处控制台的图片:
//js
firebaseRef.once("value", function(snapshot) {
$timeout(function(){
$scope.boats = snapshot.val();
console.log($scope.boats); //image of console up^
}, function (errorObject) {
console.log("The read failed: " + errorObject.code);
},0);
});
//html
<div class="row pad" ng-repeat="boat in boats">
<span class='text-center' >{{boat.title}}</span>
</div>
答案 0 :(得分:3)
数据存储为boat.Title
,但正在boat.title
答案 1 :(得分:2)
@funador是正确的,您需要boat.Title
而不是boat.title
。
但是,您应该考虑使用 AngularFire for Angular 1 来让您的生活更轻松。
AngularFire将集合与Firebase数据库和$digest
循环同步。
angular.module('app', ['firebase'])
.constant('FirebaseUrl', '<my-firebase-app>')
.controller('MyCtrl', MyController)
.config(function($firebaseRefProvider, FirebaseUrl) {
$firebaseRefProvider.registerUrl({
default: FirebaseUrl,
boats: FirebaseUrl + '/boats'
});
});
function MyController($scope, $firebaseRef, $firebaseArray) {
$scope.boats = $firebaseArray($firebaseRef.boats);
}
AngularFire允许您使用config
在$firebaseRefProvider
阶段指定参考。然后,您就可以注入$firebaseRef
服务了。
$firebaseArray
会自动将更改同步到您的模板。要创建一个,请传入boats
对数组的引用。
令人敬畏的是,不需要$timeout
。 AngularFire为您处理它。
您的ng-repeat
仍然相同:
<div class="row pad" ng-repeat="boat in boats">
<span class='text-center' >{{boat.title}}</span>
</div>