scope数组数据发生变化时,界面会自动刷新,刷新方式有2种:
1.删除之前所有存在的dom,然后重新生成dom。
2.重用之前的dom元素,仅仅更新dom元素的属性。
三种情况:
一、数组属性值发生变化,使用track by 结果对比
1.使用ng-repeat = "a in arrayList"
2.使用 track by $index
3.使用 track by id
结果对比:使用1会将dom元素全部删除,重新生成,使用2,3只会发生更新
二、数组长度不变、顺序改变
1.track by $index 只会更新dom,不会发生dom删除事件
2.track by id 会发生dom删除,dom增加事件
三、数组长度改变
两种方式均会发生dom删除
网友评论