Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS+Firebase.util。如何在不知道父密钥的情况下访问数据?_Javascript_Angularjs_Object_Firebase - Fatal编程技术网

Javascript AngularJS+Firebase.util。如何在不知道父密钥的情况下访问数据?

Javascript AngularJS+Firebase.util。如何在不知道父密钥的情况下访问数据?,javascript,angularjs,object,firebase,Javascript,Angularjs,Object,Firebase,背景: 创建交付时,将在以下项下创建条目: 1-交付->公司->FirebaseGenerateId->交付详细信息 为了允许用户跟踪他们的购买,他们会将送货公司和送货的唯一ID添加到他们的个人资料中 2-用户->交付跟踪->公司交付->以上交付生成的FirebaseGeneratedEdged:真 根据上述用例,我能够使用Firebase.util.Crossion返回Firebase引用数组。但是,当绑定到$scope中的变量时,我无法访问子对象的特定键,尽管我可以向视图显示批次 我已经构建

背景:

创建交付时,将在以下项下创建条目:

1-交付->公司->FirebaseGenerateId->交付详细信息

为了允许用户跟踪他们的购买,他们会将送货公司和送货的唯一ID添加到他们的个人资料中

2-用户->交付跟踪->公司交付->以上交付生成的FirebaseGeneratedEdged:真

根据上述用例,我能够使用Firebase.util.Crossion返回Firebase引用数组。但是,当绑定到$scope中的变量时,我无法访问子对象的特定键,尽管我可以向视图显示批次

我已经构建了一个详细的JSFIDLE,它应该能够更加雄辩地解释这个问题,而我可以通过键入来解释

JSIDLE链接:

所需代码:

<body ng-app="testApp" ng-controller="TestCtrl">
    <div data-ng-repeat="tDelivery in trackedDelivery | orderByPriority">
      <div class="profile-cards">
        <p>{{tDelivery}}</p>
      </div>
    </div>
    <br/><br/>
    <h5>Question: How do I access the individual delivery details i.e. status?</h5>
</body>

'use strict';

var app = angular.module('testApp', [
    'firebase'
]);
结果:

{"-randomFBKey1":{"company1":true,"name":"name value 1","status":"delivery 1 status"}}

{"-randomFBKey3":{"company2":true,"name":"delivery 3","status":"delivery 3 status"}}



Question: How do I access the individual delivery details i.e. status?
结构:


看@FrankvanPuffelen看到了。。。我认为我的情况有点复杂,因为我有一个firebase引用数组,所以我从getIndex获得的键值已经是一层了。也就是说,getIndex返回company1,company2,但如果不知道父项的键,我就无法指向该级别。哎哟。。。这可以使用snapshot.rec.sortedChildKeys[0],但看起来不太好;你应该从记录版本信息开始。您是否有理由不能简单地将订单和交货跟踪数据放入它们自己的路径中,而不是深入嵌套在父节点下?这将大大简化这里的工作。不应该。@kato在firebase data structure:上引用了您的回复,我认为这是正确的,因为一家公司也需要跟踪其交付情况,所以在这种情况下,只需在uid->deliveries下列出所有交付情况。这不是最优的吗?同样,这是0.7.3。该应用程序很旧,0.8需要升级很多工作:
{"-randomFBKey1":{"company1":true,"name":"name value 1","status":"delivery 1 status"}}

{"-randomFBKey3":{"company2":true,"name":"delivery 3","status":"delivery 3 status"}}



Question: How do I access the individual delivery details i.e. status?