对于AngularJs过滤是否正常?

时间:2012-07-26 19:46:47

标签: javascript angularjs

我对角度很新,但我觉得这有点疯狂。

我在一个控制器范围内通过ng-repeat显示了多个集合。每个列表都有一个输入字段来执行简单查询。我在我的代码中使用各种过滤器,最后在我的过滤器函数中放入了console.log。我意识到每次为一个列表调用我的过滤器函数时,都会调用该范围内的所有列表。此外,它每次调用过滤器功能两次。因此,使用3个集合,过滤其中一个列表将调用过滤器函数6次。

我想也许这只是我的自定义过滤器,所以我在默认过滤器功能上试了一下。相同的故事。这是我的代码:

https://dl.dropbox.com/u/905197/angular-filter-test.html

转到控制台,亲眼看看:/

我在这里做错了什么?这看起来很简单,但它做了很多工作。

1 个答案:

答案 0 :(得分:25)

这是正常的,angularjs使用'脏检查'方法,因此需要调用所有过滤器以查看是否存在任何更改。在此之后,它检测到您对一个变量(您键入的变量)进行了更改,然后再次重新执行所有过滤器以检测是否有其他变量。

请参阅this问题的第一个答案