Checking if object is empty, works with ng-show but not from controller?

Martin picture Martin · Jul 24, 2013 · Viewed 331k times · Source

I have a JS object declared like so

$scope.items = {};

I also have a $http request that fills this object with items. I would like to detect if this item is empty, it appears that ng-show supports this... I enter

ng-show="items"

and magically it works,I would also like to do the same from a controller but i can't seem to get it to work, it appears I may have to iterate over the object to see if it has any properties or use lodash or underscore.

Is there an alternative?

I did try

alert($scope.items == true);

but it always returns false , when the object is created and when populated with $http, so its not working that way.

Answer

testing123 picture testing123 · May 9, 2014

Or you could keep it simple by doing something like this:

alert(angular.equals({}, $scope.items));