jsfiddle http://jsfiddle.net/KfSBq/
サブオブジェクトとは、ng-repeat で表示しているすべてのオブジェクトにオブジェクトのリストが含まれていることを意味し、それらのサブオブジェクトの 1 つのプロパティに基づいてフィルタリングしようとしています。
これだけでも簡単にできました。のオブジェクトがありdailies
、それぞれにとオブジェクトdate
のentries
リストが含まれています。
function Ctrl($scope) {
$scope.dailies = [{date: new Date('07/07/2013'),
entries: [{category: 'A', note:'Lorem ipsum'},
{category: 'B', note: 'Lorem ipsum'}]},
{date: new Date('05/02/2013'),
entries: [{category: 'A', note: 'Lorem ipsum'}]}];
}
カテゴリ別にフィルタリングして表示します。
<div ng-controller="Ctrl">
<div class="daily" ng-repeat="daily in dailies | orderBy:'-date' ">
{{ daily.date | date:'dd/MM/y' }}
<div class="entry" ng-repeat="entry in daily.entries | filter:{ category: 'B'} ">
<span>{{ entry.category }}</span>, <span>{{ entry.note }}</span>
</div>
</div>
</div>
ここでの問題は、エントリがまったく含まれていない日次オブジェクトがまだ表示されていることです。フィルタリングによって空のentries
リストが作成された場合、それも表示されないという状況をどのように達成できますか?daily
daily