【问题标题】:How to get the key of a firebaseArray object如何获取 firebaseArray 对象的键
【发布时间】:2016-10-28 23:01:43
【问题描述】:

我正在尝试获取返回的 firebaseArray 记录的密钥,但没有运气。

我有一个运行以下返回商店的服务

getStore: function(uid, id){
    var ref = firebase.database().ref('u/'+uid+'/stores/'+id+'/i/');
     // to take an action after the data loads, use the $loaded() promise
     return $firebaseArray(ref);
}

我使用以下方法通过调用服务来获取每条记录

for(var i = 0; i < $scope.storesList.length; i++){
    var storeInfo = Stores.getStore($rootScope.user['uid'], $scope.storesList[i]['$id']);
    storeInfo.$loaded().then(function(data){
            $scope.stores.push(data);
            console.log($scope.stores);
    });
}

在我的 html 中,我可以访问数组中的各种属性

<li ng-repeat="store in stores">
      <span class="store-address">{{store.$getRecord('name').$value}}</span>
      <span class="store-address">{{store.$getRecord('address1').$value}}</span>
</li>

但我似乎无法从 ng-repeat 中获取每条商店记录的 ID

【问题讨论】:

    标签: arrays angularjs firebase angularfire firebase-realtime-database


    【解决方案1】:

    要获取 id,只需调用项目上的 $id。

    <li ng-repeat="store in stores">
          <span class="store-address">{{store.$getRecord('name').$value}}</span>
          <span class="store-address">{{store.$getRecord('address1').$value}}</span>
          <span class="store-address">{{store.$id}}</span>
    </li>
    

    见:https://github.com/firebase/angularfire/blob/master/docs/reference.md#firebasearray

    【讨论】:

      【解决方案2】:

      不要让自己变得复杂,试试这个简单的代码!

      var ref = new Firebase(url);
      ref.once("value", function(list) {
          var subData    = list.val();
          var subDataKey = list.key();
          console.log(subDataKey);
      

      这一定对你有帮助!

      【讨论】:

        【解决方案3】:

        我通过从 firebaseArray 切换到包含 $id 参数的 firebaseObject 解决了这个问题

        【讨论】:

          猜你喜欢
          • 2015-07-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-05-11
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多