Zaid Mirza Zaid Mirza - 3 months ago 11
AngularJS Question

Angular debugging using Firebug

I´m making an AngularJS app, which fetches data from the Firebase cloud. The data is shown on page but when I debug my controller, it shows an empty list of articles. Why is my variable shown as empty during debugging?

Here is the code of my controller:

appMainModule.controller('GetCtrl', ['$scope', '$firebaseArray', function ($scope, $firebaseArray) {
var firebaseObj = new Firebase("URL")
debugger;
//var sync = $firebaseArray(firebaseObj);
//$scope.articles = sync.$asArray();
$scope.articles = $firebaseArray(firebaseObj);

var firebaseObj1 = new Firebase("URL");

$scope.articles1 = $firebaseArray(firebaseObj1.orderByChild("Month").equalTo("Apr-2016"));
var query=$scope.articles1
var num = query.length;
}]);


And here is my HTML code:

<div class="content" style="height: 380px; overflow: auto;">
<table class="table">
<thead>
<tr>
<th>Incident Name</th>
<th>Category</th>
<th>Month</th>
<th>Total</th>
</tr>
</thead>
<tbody ng-repeat="article in articles1 ">
<tr>
<td><p>{{article.IncidentName}}</p></td>
<td><p>{{article.CategoryParent}}</p></td>
<td><p>{{article.Month}}</p></td>
<td><p>{{article.Total}}</p></td>
</tr>
</tbody>
</div>


Within the HTML page
articles1
is providing the data, but within the controller it is shown as empty after fetching the data.

Answer

I solved my problem, I was expecting my data so early as it was asyncrounous call to firebase. so here is the method when firebase returns a promise for data

$scope.articles1.$loaded(function(data){
// do here with data,what you want
})
Comments