如何写日期|日期:" MM"在ng-class中?

时间:2015-12-10 07:39:46

标签: javascript angularjs date

我想在month等于agent.createdAt | date:"MM"时将代码todaymonth添加(代码在指令中):

'<td ng-class="{\'month\': ???==todaymonth}"><span>{{todaymonth}}</span>{{agent.createdAt | date:\"yyyy-MM-dd HH:mm\"}}</td>'+

我不知道如何添加agent.createdAt | date:"MM"。如果我这样做:

{\'month\': agent.createdAt | date:\"MM\"==todaymonth}引发与{\'month\': (agent.createdAt | date:\"MM\")==todaymonth}

相同的意外表达式错误

如何正确地做到这一点?

2 个答案:

答案 0 :(得分:2)

由于您要使用表达式,只需使用class代替ng-class

<td class="{{(createdAt | date:'MMM') == todayMonth ? (createdAt | date:'MMM') : ''}}">...</td>

上面的代码会为您的<td>提供 Jan 2月等等,具体取决于月份。

我有一些类名称是数字的问题,所以我使用MMM代替。 todayMonth需要相应地"Jan"

JSFiddle显示了整个行动。

注意:我更改了一些属性名称以提高可读性,因此只需复制&amp;粘贴到您的代码中将无法正常工作。

答案 1 :(得分:0)

我使用了Date类的getMonth()方法,它的起始索引为0所以我在表达式中添加了1

'<td ng-class="{ month: agent.createdAt.getMonth()+1==todaymonth}"><span>{{todaymonth}}</span>{{agent.createdAt | date:\"yyyy-MM-dd HH:mm\"}}</td>'+