0

난 firebase 및 이온 각도에 문제가 있습니다. 내가 성취하고자하는 것은 사용자가 날짜 목록을 클릭 한 다음 예 8 9 월에 사용자가 8 명의 모든 참석자 상태를 볼 수 있다는 것입니다. 사용자가 클릭 9월 8일 후출석 확인 firebase 각도로

List of dates

. 그것은 사용자 데이터 및 출석 상태 목록을 8 sept.

After user click one of the dates it show the attendance list and their status

이 지금까지 내가 모든 날짜 및 사용자 데이터에 대한 목록을 표시 할 수 있습니다 내 중포 기지 데이터베이스

this is my firebase database

입니다. 그러나 문제는 내 쿼리가 모든 날짜의 상태를 표시한다는 것입니다 (8 &9 월 9 일). 선택한 날짜의 상태 만 표시하려면 어떻게해야합니까?

이것은 내가 작업 한 코드입니다.

Controller.js

childUsers.orderByValue().on('value', function(snapshot){ 
    $timeout(function(){ 

     var snapshotVal = snapshot.val(); 

     $scope.users =snapshotVal; 
     console.log($scope.users); 

     }); 
    }); 

템플릿

<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; "> 

        <div ng-if="item.status = 'true'"> 
         <div class="ion-checkmark" style="display: flex; vertical-align: middle;"></div> 
        </div> 

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

어떤 생각이 어떻게 해결 하는가? 감사합니다 어떤 도움을 주셔서 감사합니다.

답변

0

내가 여기에 중첩 된 스냅 샷을 사용하여 해결책을 발견 내 코드

컨트롤러

var rootRef = new Firebase('https://example-app.firebaseio.com/'); 
    var childUsers = rootRef.child('users'); 
    var childDate = rootRef.child('tanggal'); 
    var rekapId = $stateParams.rekapId; 
    console.log(rekapId);  

    childDate.child(rekapId).child('tanggalBaca').once('value',function(snap){ 

     $timeout(function() { 
      var snapshot= snap.val(); 
      $scope.tanggal = snapshot;  
      console.log($scope.tanggal); 
      myAfterFunction(); 
     }); 
    }) 

    function myAfterFunction(){ 

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

     }) 
     var snapshotVal = snapshot.val();   
     $scope.users =snapshotVal; 
     console.log($scope.users); 
    })  

    }