角度ng-show大于未评估

时间:2015-11-30 16:57:20

标签: ruby-on-rails ruby angularjs ng-show

我已经尝试了两天使用Rails和angular制作输入日期过滤器,但最后我放弃了。输入给我的日期格式与我需要的格式不同,我无法更改。

我想我可以用另一种最简单的方式来做“过滤器”。我意识到使用ruby我可以很容易地获得我需要的格式的日期,所以我试图显示和隐藏比较ruby日期和元素日期的元素。

所以我正在尝试这个:

<section ng-repeat="event in events | orderBy:'date' | filter:myFilter" 
         ng-show="(<%= Date.today.to_s  %> <= {{event.date}})">

但表达式ng-show="(<%= Date.today.to_s %>) <= ({{event.date}})"未评估或始终为true,因为它显示所有事件,包括日期之前的事件。

我也尝试了"(<%= Date.today.to_s %> <= event.date)",但这一个总是假的,所以所有的元素都被隐藏了......

有人可以帮助我吗?

编辑:myFilter的设置类似于仅显示今天的事件,并且正在运行。

<a id="filter-by-date" class="btn btn-success wide-btn" href="#" 
   ng-click="myFilter = '<%= Date.today.to_s  %>'">Today Events</a>

1 个答案:

答案 0 :(得分:3)

在控制器内移动数学

HTML

<section ng-repeat="event in events | orderBy:'date' | filter:myFilter" 
     ng-show="computeShow(event.date)">

JS

$scope.computeShow = function (eventDate) {
    return (
        //compute eventDate >= today's date
    )
};