【发布时间】:2015-12-05 21:10:59
【问题描述】:
我有read那个
您的 HTML 中的 AngularJS 过滤器将执行(多次!) 每个消化周期。这意味着您的过滤功能,或者您的过滤器将执行多次,即使基础数据或条件没有改变
我猜它的原因是 AngularJs 是如何工作的,所以它需要知道(在多个循环之后)一切都设置正确。
所以基本上是这样的:
<div ng-repeat="stock in ctrl.stocks | filter: ctrl.searchField">
{{stock.name}}
</div>
应该变成这样:
<div ng-repeat="stock in ctrl.filteredStocks">
Pre Filtered {{stock.name}}
</div>
通过类似的方式:
self.filter = function() {
console.log(1); //for counter
self.searchField = self.searchFieldModel;
self.filteredStocks = filterFilter(self.stocks, self.searchField);
};
如您所见 - 我在控制器中添加了console.log,以便查看此filterStocks 被评估了多少次。
问题
出于观察目的 - 我如何跟踪 filter 在中的次数:
<... ng-repeat="stock in ctrl.stocks | filter: ctrl.searchField">
正在运行吗?
【问题讨论】:
标签: javascript angularjs