【问题标题】:Angularjs ng-if compare the day inside ng-repeatAngularjs ng-if 比较 ng-repeat 中的日期
【发布时间】:2015-09-29 14:59:49
【问题描述】:

我在表格中有一个显示日期的循环,我需要显示不同的 td,具体取决于日期(而不是时间)是否不同。

我需要的是这样的:

<tr ng-repeat='session in sessions'>
<td ng-if="session.start.DAY != session.end.DAY">
{{::session.start | date:'d MMM H:mm'}} 
class="glyphicon glyphicon-menu-right"></span>
{{::session.end | date:'d MMM H:mm'}}</td> 
</td>

<td ng-if="session.start.DAY == session.end.DAY">
{{::session.start | date:'H:mm'}} 
<span class="glyphicon glyphicon-menu-right"></span>
{{::session.end | date:'H:mm - d/MMM'}}
</td>
</tr>

日期格式为:2015-09-29T14:18:43,我只想比较这部分 2015-09-29

我知道上面的代码不起作用,但是在这种情况下可以做什么?

【问题讨论】:

  • 使用 ng-if 时,您将阻止 td 被发出,这可能是也可能不是您想要的,但是在大多数情况下,您有一定数量的列,您可以使用 ng-show隐藏或不隐藏列。这使 html 保持一致。至于实际的表达式,我不明白为什么它们不能工作,只要你在控制器中有名为 session 的对象。
  • 对正在比较的数据知之甚少。日期不是微不足道的。概念似乎应该起作用...显示产生意外结果的数据样本
  • 如何比较除时间以外的所有内容?鉴于你有这个数据来 2015-09-29T14:18:43 我只想比较这个 2015-09-29

标签: angularjs date ng-repeat angular-ng-if


【解决方案1】:

只需检查 Plunker

http://plnkr.co/edit/LS9US1RUzmoE133WUpND?p=preview

<div ng-controller="testctrl">

    <div ng-repeat='session in sessions'>


      <div ng-show="session.startDAY | limitTo: 10 == session.endDAY | limitTo: 10 ">

          {{session.startDAY | date:'d MMM H:mm' }}

      </div>

       <div ng-show="session.startDAY != session.endDAY">

          {{session.startDAY }}

      </div>

    </div>

    </div>

谢谢, 柴坦尼亚

【讨论】:

  • 伙计,我现在编辑了我的问题,我想还不清楚。日期格式如下:2015-09-29T14:18:43 我只想比较这部分 2015-09-29
  • CNandamuri,您是否看到即使您将运算符从 == 更改为 != 这也会使 ng-show 收到一个真实值并显示日期?
猜你喜欢
  • 2014-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-22
  • 1970-01-01
相关资源
最近更新 更多