我有一个ng-repeat,它列出了用户并使用了自定义指令。
我的自定义指令有一些事件处理程序,如点击处理程序等。
每次在UI中更改下拉列表值时,都会修改此vm.UserList。我的问题是,每当UserList被下拉列表修改时,事件处理程序是否会更新?
更改下拉列表将发出远程API请求,然后将用户的JSON结果设置为UserList的值。
<div ng-repeat="u in vm.UserList">
<div><div my-custom-directive user-id="{u.id}" >{u.email}</div></div>
</div>
</div>
答案 0 :(得分:0)
是的,确实如此。根据{{3}}:
ngRepeat使用$ watchCollection来检测集合中的更改。 当发生更改时,ngRepeat会进行相应的更改 到DOM:
1-添加项目时,会将新模板实例添加到 DOM。
2 - 删除项目后,将删除其模板实例 DOM。
3 - 当重新排序项目时,它们各自的模板是 在DOM中重新排序。
因此,您的指令会添加到包含所有事件处理程序的页面中。