2014-07-10 24 views
9

我有一个使用ng-repeat显示的事件列表。从每个事件中,出于HTML显示的原因,我需要访问上一个和下一个事件。当我不使用过滤器,这个效果很好使用如何访问angularjs ng-repeat中的上一个和下一个项目

events[$index - 1] 

不过,如果我使用

event in events | myMinDate: 'start':config.now | orderBy: 'start' 

我不能用这个己技巧筛选并重新排序的事件,这些事件阵列仍指到原始的(未过滤的,未排序的)数据结构。不幸的是没有过滤数据的数据数组或者$ previous和$ next。

任何想法如何可以实现而不触及实际的事件数组?

回答

16

您可以将过滤器的结果保存到一个新的变量:

event in filteredEvents = (events | myMinDate: 'start':config.now | orderBy: 'start') 

然后:

filteredEvents[$index - 1] 
+1

哇,你真了不起 - 效果非常好。我无法在任何地方找到它。非常感谢! – Onestone

相关问题