筛选器方法的主要问题在于,每次更改dom都会对其进行 *** 作,因此,筛选器的运行速度不是缓慢,而是后果。一种替代方法是使用类似:
ng-show="([item] | filter:searchFilter).length > 0"
在重复元素上。
通过@OverZealous提供一些代码,您可以使用以下内容比较行为:
- 过滤器:http://jsbin.com/fuwadanu/1/
- ng-show:http : //jsbin.com/xajehulo/1/
更新 :Angular v1.2附带了
track by语法。这也有助于解决此类问题。如果元素具有一些唯一属性,则可以使用:
ng-repeat="item in items | filter:searchFilter track by item.id"
在
item.id所有项目中,哪里必须是唯一的。与
track by只有那些以DOM元素将被移除这已经不再是在最后的名单,其他人将被 铭记
。而没有
track by整个列表的每次都会 重绘 。简而言之:更少的dom *** 作=更快的重绘。
- 跟踪者:http : //jsbin.com/dufasego/1/
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)