Angular limitTo 有条件

Angular limitTo with condition

我正在对重复的项目数组使用 angularjs 过滤方法,并尝试使用 limitTo 过滤器过滤数字。

这是我的JsFiddle代码

过滤器工作正常,但我有一个条件 ng-if="!o.IsFeaturedEvent",过滤器应该应用于不是 IsFeaturedEvent 的事件列表。目前它正在应用于所有事件

如何在 ng-if 条件下使用 limitto

如有任何建议或帮助,我们将不胜感激。

提前致谢

您需要像这样创建自定义过滤器:

.filter('nonFeaturedEvent', function() {
  return events => events.filter(e => !e.IsFeaturedEvent);
})

并在之前应用它,像这样:

<div ng-repeat="o in data  | nonFeaturedEvent | limitTo:limit"  ng-if="!o.IsFeaturedEvent">

nonFeaturedEvent 过滤器将在传递给 limitTo 过滤器之前删除所有特色事件。

Here's a link to the fiddle 为了这个想法。有点简化了。

不要使用 ng-if,使用过滤器来完成。

我测试了你的代码 "o in data | filter: !o.IsFeaturedEvent | limitTo:limit "

它显示第一个事件,这是一个特色事件。

如果要显示非特色事件,请使用

"o in data | filter: o.IsFeaturedEvent | limitTo:limit "