【问题标题】:Date with filter in angularJs在angularJs中使用过滤器的日期
【发布时间】:2015-05-12 23:08:46
【问题描述】:

我正在尝试使用ng-if= "condition == {{date | date:"M"}}"ng-repeat 中选择对象

{{date | date:"M"}} 在我的 Angular 页面中工作,返回“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>

【问题讨论】:

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


    【解决方案1】:

    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">
    

    【讨论】:

    • 我仍然无法让它工作。我做了一个 plunkr 来展示一个例子:link我错过了什么?提前致谢。
    猜你喜欢
    • 2014-01-06
    • 2017-06-29
    • 2014-07-22
    • 1970-01-01
    • 2015-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多