使用angularFire隐式同步访问ng-repeat中的Firebase唯一ID

hia*_*ttp 11 angularjs firebase angularfire

我有一个使用angularFire隐式数据同步的Firebase对象列表,我想使用其他数据属性呈现它们的唯一ID(用于url)ng-repeat.我可以angularFire以这样一种方式返回,即我可以访问其中的对象ID ng-repeat,就像angularFireCollection拥有$id属性的成员一样吗?如果没有,那么实现这一目标的正确方法是什么?假设代码(不起作用):

控制器:

myApp.controller('ItemListCtrl', ['$scope', 'angularFire',
  function ItemListCtrl($scope, angularFire) {
    var ref = new Firebase(firebaseUrl);
    angularFire(ref, $scope, 'items');
  }
]);
Run Code Online (Sandbox Code Playgroud)

视图:

<div ng-repeat="item in items" >
  <a href="" ng-href="#/items/{{item.name()}}">{{item.text}}</a>
</div>
Run Code Online (Sandbox Code Playgroud)

ben*_*ich 24

我认为你所需要的只是:

<div ng-repeat="(name, item) in items">
  <a href="" ng-href="#/items/{{name}}">{{item.text}}</a>
</div>
Run Code Online (Sandbox Code Playgroud)

anglularFire对象的行为就像普通的javascript对象一样.

  • Ahhhrrrrggggg!在找到这个答案之前,我一直在努力解决这个问题.谢谢! (4认同)
  • 他们需要更好地记录这个-_- (4认同)

swi*_*ade 7

要获取通过angularfire $ add方法创建的唯一ID,可以使用$ id属性:

<div ng-repeat="item in items" >
  <a href="" ng-href="#/items/{{item.$id}}">{{item.text}}</a>
</div>
Run Code Online (Sandbox Code Playgroud)