ng-repeat track by

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删除

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容