Filtering an ng-repeat list based on a sub-object property
You are allowed to create new scope members inside the expressions.
This lets you assign a filtered list to a new variable, which can be used throughout the local scope. With that, you can pass the length of the filtered list to ng-show:
<body ng-app> <div ng-controller="Ctrl"> <div class="daily" ng-repeat="daily in dailies | orderBy:'-date' " ng-show="filteredEntries.length" > {{ daily.date | date:'dd/MM/y' }} <div class="entry" ng-repeat="entry in filteredEntries = (daily.entries | filter:{ category: 'B'})" > <span>{{ entry.category }}</span>, <span>{{ entry.note }}</span> </div> </div> </div></body>
Btw, nicely put question!