Filtering an ng-repeat list based on a sub-object property Filtering an ng-repeat list based on a sub-object property angularjs angularjs

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>

FIDDLE

Btw, nicely put question!