Firebase/AngularJS limitToFirst(1) 不 return 一个 child
Firebase/AngularJS limitToFirst(1) does not return a child
我正在使用 AngularJS 和 Firebase 并尝试从一组过滤后的 children 中获取第一个 child,但 limitToFirst(1) 似乎没有获取首先 child 就像 .child("=KDhddgd47nd") 那样
像这样
var Sport = new Firebase(FirebaseUrl);
var Teams = Sport.child("teams");
var myTeam = Teams.child("Saints");
var myPlayers = myTeam.child("players").orderByChild("name");
var myFixtures = myTeam.child("fixtures").startAt(now).orderByChild("date");
所以我现在有一组灯具 (myFixtures)
*var myFirstFixture = myFixtures.child("-KDUNN5KRNUmLlOhUB4D");*
工作并获取夹具,其中 -KDUNN5KRNUmLlOhUB4D = 夹具的 ID
但是
var myFirstFixture = myFixtures.limitToFirst(1);
没有得到相同的结果,即。根本没有固定装置
应该但不应该吗?
嗯...我很确定你必须附上回电,因为这个 doc 指的是......你可以尝试这样做并向我们更新结果吗?
var myFirstFixture = myFixtures.limitToFirst(1).on("child_added", function(snapshot) {
console.log(snapshot.key() , snapshot.val());
});
有根据的猜测是您正在使用:
$scope.fixture = $firebaseObject(myFirstFixture);
当您直接 Firebase
引用第一个灯具时,这将起作用,就像您 myFixtures.child("-KDUNN5KRNUmLlOhUB4D")
.
但是当您使用查询时它将不起作用。由于可能有多个项目符合您的条件,因此查询将 always return 一个项目列表。即使只有一个匹配的灯具,查询仍会产生一个包含一个灯具的列表。所以你需要将它映射到一个数组:
$scope.fixtures = $firebaseArray(myFirstFixture);
然后 ng-repeat
在你的视野中 HTML。
我正在使用 AngularJS 和 Firebase 并尝试从一组过滤后的 children 中获取第一个 child,但 limitToFirst(1) 似乎没有获取首先 child 就像 .child("=KDhddgd47nd") 那样
像这样
var Sport = new Firebase(FirebaseUrl);
var Teams = Sport.child("teams");
var myTeam = Teams.child("Saints");
var myPlayers = myTeam.child("players").orderByChild("name");
var myFixtures = myTeam.child("fixtures").startAt(now).orderByChild("date");
所以我现在有一组灯具 (myFixtures)
*var myFirstFixture = myFixtures.child("-KDUNN5KRNUmLlOhUB4D");*
工作并获取夹具,其中 -KDUNN5KRNUmLlOhUB4D = 夹具的 ID
但是
var myFirstFixture = myFixtures.limitToFirst(1);
没有得到相同的结果,即。根本没有固定装置
应该但不应该吗?
嗯...我很确定你必须附上回电,因为这个 doc 指的是......你可以尝试这样做并向我们更新结果吗?
var myFirstFixture = myFixtures.limitToFirst(1).on("child_added", function(snapshot) {
console.log(snapshot.key() , snapshot.val());
});
有根据的猜测是您正在使用:
$scope.fixture = $firebaseObject(myFirstFixture);
当您直接 Firebase
引用第一个灯具时,这将起作用,就像您 myFixtures.child("-KDUNN5KRNUmLlOhUB4D")
.
但是当您使用查询时它将不起作用。由于可能有多个项目符合您的条件,因此查询将 always return 一个项目列表。即使只有一个匹配的灯具,查询仍会产生一个包含一个灯具的列表。所以你需要将它映射到一个数组:
$scope.fixtures = $firebaseArray(myFirstFixture);
然后 ng-repeat
在你的视野中 HTML。