【发布时间】:2013-07-05 01:19:55
【问题描述】:
jsfiddle http://jsfiddle.net/KfSBq/
子对象是指我使用 ng-repeat 显示的对象都包含一个对象列表,我希望根据其中一个子对象的属性进行过滤。
仅此一项就很简单了。我有一个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>
我的问题是现在根本不包含条目的日常对象仍然显示。如果过滤使daily 的entries 列表为空,那么daily 也不会显示,我该如何实现?
【问题讨论】:
-
我认为你必须创建自己的过滤器
标签: angularjs angularjs-filter