2016-09-14 17 views
0

私は角度と火災ベースで新しいです。私はfirebaseから入れ子オブジェクトを取得するのに問題があります。ここに私のコードです。 コントローラfirebaseからオブジェクトを取り出す方法は?

var rootRef = new Firebase('https://ayobacaalkitab.firebaseio.com/'); 
    var childUsers = rootRef.child('users'); 
    var childDate = rootRef.child('tanggal'); 
    var rekapId = $stateParams.rekapId; 

    console.log(rekapId); 
    childDate.child(rekapId).child('tanggalBaca').on('value',function(snap){  
     $timeout(function() { 
      var snapshot= snap.val(); 
      $scope.tanggal = snapshot;   
      myAfterFunction(); 
     }); 
    }) 
    function myAfterFunction(){ 
    console.log($scope.tanggal); 

    var dates = $scope.tanggal; 
    console.log(dates); 
    var rekapUsers = childUsers.on('value', function(snapshot){ 
     snapshot.forEach(function(childSnapshot){ 
      $scope.keyuser = childSnapshot.key();   
      stat();  
     }) 
     var snapshotVal = snapshot.val();  
     $scope.users =snapshotVal; 
     console.log($scope.users); 
    }) 
    function stat(){ 
     var keyusers =$scope.keyuser; 
     var childStatus = childUsers.child(keyusers+'/status/'+dates);  
     $scope.statusbaca = $firebaseArray(childStatus); 
     console.log($scope.statusbaca);   
     console.log(keyusers); 
     }) 
    } 

    } 

テンプレートHTML

<div ng-repeat= "item in users"> 
      <div class="list card" style="padding:1%;"> 
       <div class="col-50" style="float:left;"> 

       <h5>{{item.displayName}} - {{item.handphone}}</h5> 
       <h5>{{item.email}}</h5> 
       </div> 
        <div class="col-33" style="float:right; position: relative;" ng-repeat = "datas in statusbaca"> 

        <h5>{{datas}}</h5> 

       </div> 
      </div> 
     </div> 

今最初の問題iは{{DATASを}}を使用してHTML形式で結果を表示することができるが、私は、{{datas.statに変更したとき}}それは何も表示されません。どのように私はhtmlでのみ統計を表示することができます。 2番目の問題は、htmlでの照会の表示は、firebaseの最新のオブジェクトのみを表示することです。 Firebaeのオブジェクトクエリーのすべてではありません。私はすでに$ firebaseArrayを$ firebaseObjectに変更しようとしました。それでも失敗しました。

これは私のfirebaseのスクリーンショットとその結果です。

enter image description here

あなたはすべての値の結果が偽である結果ではなく現れていない真の値ユーザーのfirebase 1に見ることができるように

enter image description here。どんな助けもありがとうございます。おかげ

+0

、それはあなたのスタイルの問題だ、それはここでもうまくいくと思いますか? – Sajeetharan

+0

@Sajeetharanはここからユーザーからのjsonです:{"1vXNeQ1pcVgEs70yp2fyHHDX9OB3":{"displayName": "Samuel Billy"、 "email": "[email protected]"、 "handphone": "085649xxxxx"、 "status":{ "2016年9月16日":{"id":2、 "stat":false}、 "9月17日、2016年9月15日":{"id":1、 "readAt": "0"、 "stat":true} "2016":{"stat":false} "1816年9月18日":{"stat":false} "1916年9月19日":{"stat":false}}} "r9X1zG5I1bhmiUYxckXgUSOkKnw2":{"displayName" : "Cindy"、 "email": "[email protected]"、 "handphone": "087700xxxxxx"、 "status":{"2016年9月15日":{"id":1、 "readAt": "0" 、 "stat":false}}} –

答えて

0

は、私はあなたがあまりにもJSONを投稿することができ

 <body ng-app='myApp' ng-controller='MyController'> 
    <div ng-repeat= "item in users"> 
      <div class="list card" style="padding:1%;"> 
       <div ng-repeat="(key,value) in item.status"> 
        {{item.displayName}} 
        <h5>{{key}}</h5> 
        <h5>{{value.stat}}</h5> 
       </div> 
      </div> 
    </div> 
    </body> 

WORKING DEMO

+0

私は直接 をつかむとうまくいったが、入れ子にする必要がある。なぜなら、私はfirst.andを取得し、詳細な表示のためにユーザーのデータとユーザーの状態を取得する必要があるからです。 –

+0

最新のプラカードを確認してください – Sajeetharan

+0

@SamuelBillyはうまくいきましたか? – Sajeetharan

関連する問題