关于javascript:Angularfire访问对象密钥

Angularfire access object key

如何打印从Firebase返回的对象的键?
具体来说,我该如何打印团队名称?例如。 "很棒的团队"

控制器:

1
2
3
4
5
6
7
8
9
app.controller('TeamsController', ['$scope', '$firebaseObject','ENV',
    function($scope, $firebaseObject, ENV){

        var app_id = ENV.FIREBASE_APP_ID;
        var ref = new Firebase("https://"+app_id+".firebaseio.com/teams");
        $scope.teams = $firebaseObject(ref);

    }
]);

返回的数据是:

1
{"$id":"teams","$priority":null,"Awesome Team":{"created":"11-11-1111","size":3},"Team 1":{"created":"26-11-1111","size":4}}

然后在视图中:

1
2
3
4
5
6
    <tr ng-repeat="team in teams">
        <td>{{$id}}</td>
        <td>{{team.created}}</td>
        <td>{{team.size}}</td>
        <td><button ng-click="">X</button></td>
    </tr>


使用ng-repeat遍历Firebase参考应该使用$firebaseArray而不是$firebaseObject完成。使用$firebaseArray时,每个子项都有一个$id属性,其中包含对象的键。

https://www.firebase.com/docs/web/libraries/angular/guide/synchronized-arrays.html#section-meta-fields

1
2
3
4
5
6
<tr ng-repeat="team in teams">
    <td>{{team.$id}}</td>
    <td>{{team.created}}</td>
    <td>{{team.size}}</td>
    <td><button ng-click="">X</button></td>
</tr>