按angularjs中的当前日期选择班级

时间:2014-04-07 10:19:11

标签: angularjs

我有一个图标,如果修改日期是=当前日期,我需要更改其颜色。

逻辑: 如果inventory.modified = time则应用样式。

控制器中的

$scope.time = new Date();

模板: <span class="glyphicon glyphicon-ok-sign" ng-class=""></span>

api修改: modified: "2014-04-07T13:04:25.676000",

1 个答案:

答案 0 :(得分:1)

你需要稍微改变一下逻辑。

查看时间戳格式,样式将仅应用于1/100000秒。我认为在那个确切的时间运行javascript的机会非常低。

您可能需要以下其中一项:

  1. 如果是同一分钟则应用样式

  2. 如果时间匹配则应用样式,并在指定的间隔(例如15秒)后删除

  3. 无论哪种方式,date过滤器都应该有用:http://docs.angularjs.org/api/ng/filter/date

    修改

    JS中的

    // do this once, so we don't need convert again    
    $scope.time = $filter('date')(new Date(), 'shortDate');
    
    ...
    inventory.$modified = $filter('date')(new Date(inventory.modified), 'shortDate');
    
    模板中的

    <span ng-class="active: inventory.$modified == time"> {{ inventory }} </span>
    

    虽然,为了性能,我会预先计算字段inventory.$modifiedToday(= true / false),因此每次迭代都不需要重新计算。模板将是这样的:

    <span ng-class="active: inventory.$modifiedToday"> {{ inventory }} </span>