使用带条件的ng-repeat一次显示文本

时间:2015-12-02 15:48:29

标签: angularjs

我想在ng-repeat中只显示一次元素。

我的代码在下面不起作用,因为每次活动开始时都会显示“今天的事件”......

我的代码:

  <div class="line" ng-repeat="event in events">
    <!-- h4 only once if condition is passed -->
    <h4 ng-if="event.start.getTime() === today.getTime()">Event of today</h4>
    <!-- h4 only once if condition is passed -->
    <h4 ng-if="event.start.getTime() === tomarrow.getTime()">Event of tomarrow</h4>
    <div class="event-body">
      <a href="/event/show/{{event.id}}" class="event-title"><h3>{{event.categoryName}} : {{event.title}}</h3></a>
    </div>
  </div>

1 个答案:

答案 0 :(得分:1)

只需创建events数组的过滤版本并显示即可。您可以创建一个重新过滤它的函数,并在需要更新时将其调用(将其置于$scope.$watch函数中似乎是最简单的方法)。它看起来很低技术,但它确实让你最能控制你最终看到的东西。

这是一个非常精简的Plunker,只显示了一些简单的过滤:Example