使用带角度的按钮过滤ng-repeat

时间:2015-11-27 10:20:45

标签: angularjs filter ng-repeat

我想过滤ng-repeat,使用按钮(稍后我将使用输入),当我点击过滤器按钮时,一切都消失了,当我点击没有过滤器的按钮时,一切都会隐藏。

我在这个小提琴中复制了部分代码:http://jsfiddle.net/3g3L0ca8/

<div ng-app>
<a id="filter-by-date" class="btn btn-success wide-btn" href="#" ng-click="myFilter = {date: 1900-12-31}">Select by date</a>
        <a id="filter-by-date" class="btn btn-success wide-btn" href="#" ng-click="myFilter = null">All the events</a>
<div ng-controller="Test">
    <div class="events-right-bar scrollable-content" id='hideshow' value='hide/show'>
    <section ng-repeat="event in events | orderBy:'date' | filter:myFilter">
        <div class="panel panel-default single-event">
            <div class="panel-heading">
                <h3>
                    <button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#dialogTestDialog{{$index}}">{{event.title}}</button>
                    <em class="pull-right">Created by user: {{event.username}}</em>
                </h3>
            </div>
            <div class="panel-body">
                Description:<br>{{event.description}} <br>
                <em class="pull-right">{{event.date | date:'dd-MM-yyyy' }} - {{event.hour | date:"H:mm"}}</em> <br>
                {{event.duration}} minutes <br>
            </div>
        </div>
      </div>
    </div>
    </section>

   </div> 
</div>

当我按日期按过滤器时,一切都消失了,我认为它可以通过日期格式,但我不确定。但是当我点击没有过滤器按钮时,一切都会出现,在我的项目中,没有过滤按钮什么都不做。

1 个答案:

答案 0 :(得分:0)

我解决了no过滤器按钮,将“myFilter:'”改为“myFilter:'” 现在我只需解决日期问题,我一直认为这是格式问题。

编辑:正如我所料,这是格式错误。即使日期显示为dd-MM-yyy,似乎在过滤器中它必须写成yyyy-MM-dd。因此,我在2015年11月27日尝试的日期是错误的,它的工作原理是2015-11-27

现在可行了