如何访问angularjs ng-repeat中的上一个和下一个项目

One*_*one 9 angularjs angularjs-ng-repeat

我有一个使用ng-repeat显示的事件列表.从每个事件中,我需要访问上一个和下一个事件,以了解HTML显示的原因.当我不使用过滤器时,这很好用

events[$index - 1]
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用过滤和重新排序事件

event in events | myMinDate: 'start':config.now | orderBy: 'start'
Run Code Online (Sandbox Code Playgroud)

我不能使用这种技术,因为事件数组仍然引用原始(未过滤,未排序)数据结构.不幸的是,没有过滤数据的数据数组或类似$ previous和$ next的数据.

任何想法如何在不触及实际事件数组的情况下实现这一目标?

noj*_*noj 16

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

 event in filteredEvents = (events | myMinDate: 'start':config.now | orderBy: 'start')
Run Code Online (Sandbox Code Playgroud)

然后:

filteredEvents[$index - 1]
Run Code Online (Sandbox Code Playgroud)