2015-05-12 58 views
1

我想一个ng-repeat内选择对象过滤器,用我的角度页ng-if= "condition == {{date | date:"M"}}"日期与angularJs

{{date | date:"M"}}作品,返回“5”;但似乎并没有在我的ng-if工作。任何人都可以将我指向正确的方向吗?

这里是所述非工作代码:

<li ng-repeat="task in tasks" ng-if="task.month == {{date | date:"M"}} || task.month == 0"> 
    <a href="#/task/{{task.id}}"><h2>{{task.title}}</h2></a> 
</li> 

而且这是一个工作示例中,当我更换{{date}}与“5”;

<li ng-repeat="task in tasks" ng-if="task.month == 5 || task.month == 0"> 
    <a href="#/task/{{task.id}}"><h2>{{task.title}}</h2></a> 
</li> 

回答

0

ng-if预计一个Javascript表达,并且{{ }}括号是无效的Javascript。如您所示,支架可用于href和其他地方,但不在ng-if中。

相反,使用JavaScript的date.getMonth()在表达:

<li ng-repeat="task in tasks" ng-if="task.month == date.getMonth() || task.month == 0"> 
+0

我仍然不能使它发挥作用。我做了一个plunkr来展示一个例子:[link](http://plnkr.co/edit/nFsKmWIU5ALk1owAdxSr?p=preview)我错过了什么?提前致谢。 – lucasgaynor