我需要在我的 Angular 应用程序中更新一个小数字“时钟”。我在我的控制器中使用以下代码:
$scope.time = new Date();
var interval = $timeout(function updateTime() {
console.log("Update time");
$scope.time = new Date();
$scope.formattedTimeValue = WBUtils.formattedTime($scope.time);
interval = $timeout(updateTime, 1000);
}, 1000);
我使用表达式formattedTimeValue
在我的 html 中的一个小 div 中显示。{{formattedTimeValue}}
我还有一个使用过滤器格式化数据的 ng-repeat 指令。我的问题是那些过滤器每秒都会重新评估。我不明白为什么。我已将区间函数更改为以下内容,但仍会重新评估过滤器:
var interval = $timeout(function updateTime() {
console.log("Update time");
interval = $timeout(updateTime, 1000);
}, 1000);
有人可以向我解释为什么我的过滤器每秒都会针对 ng-repeat 中的每个对象(未更改)进行评估。过滤器当前如下所示:
module.filter('formatLogRecord', function () {
return function (log) {
console.log("Filtering");
return "";
}
});