我有一个图标,如果修改日期是=当前日期,我需要更改其颜色。
逻辑:
如果inventory.modified = time
则应用样式。
:
$scope.time = new Date();
模板:
<span class="glyphicon glyphicon-ok-sign" ng-class=""></span>
api修改:
modified: "2014-04-07T13:04:25.676000",
答案 0 :(得分:1)
你需要稍微改变一下逻辑。
查看时间戳格式,样式将仅应用于1/100000秒。我认为在那个确切的时间运行javascript的机会非常低。
您可能需要以下其中一项:
如果是同一分钟则应用样式
如果时间匹配则应用样式,并在指定的间隔(例如15秒)后删除
无论哪种方式,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>