前言
大家都知道对于处理小数量,ng-repeat是非常有用的,但是如果需要处理非常大的数量集,还是采用自定义的方法更好一些。特别是数据大多都是静态的或已预存储好的,这个时候应避免使用ng-repeat指令。
ng-repeat中的表达式和 $watch
Angular中的表达式都会创建$watch
的Scope
函数。用于监听模型变化,当你的模型部分发生变化时它会通知你。在ng-repeat指令中,如果某行数据有15列数据都绑定了表达式,如果数据有1000多行的话,那么$watch
就又奖金15000个,这性能简直难以想象。
所以当我们想要实现ng-repeat的功能又想兼备性能,那只能另找一种方法了。
替换ng-repeat的方法
如果内容是静态的,我们不需要两种方式的绑定,只需要执行一次赋值语句{{::value}}
就可以。如果anguluarJS是1.3以下的旧版本,是不支持的一次性绑定语法的。那么最好的方法就是自定义指令,换言之,静态数据可以使用一些简单的方法来格式化。
实现步骤
1、首先创建无序列表,用于保存动态绑定的内容。
我们选择动态加载List中的数据,首先添加div标签,并命名为"repeater-alternative"用于渲染流中。