我有一个指令,只要它的DOM子树被突变(例如通过ngIf或ngRepeat)就需要执行回调函数。
理想情况下,该指令可以轻松插入到我已经制作的模板中,从而排除了使用ng-init的模板。我查看了文档,ngRepeat或ngIf似乎都没有任何事件。此外,似乎大多数浏览器DOM事件也已被折旧。
我会使用一个手表,但我想不出一个可行的表达式,因为jQuery每次返回一个新对象,如果ngRepeat删除并插入一个节点,则.children()的长度可能会因突变而保持不变在同一个$ digest中。
关于如何完全从无模板指令中检测任何DOM子树突变的任何建议?
编辑:有关更多详细信息,我有多个表格,其中包含使用ngRepeat插入的数据行。每当插入一行时,如果表有一个resize指令,我需要为它添加CSS。 resize指令通常足以在不需要任何输入的情况下在每个表上运行,因此我宁愿不必将ngInits添加到所有ngRepeat元素。
答案 0 :(得分:0)
对于寻找通常在这种情况下工作的解决方案的任何人来说,Angular会重新编译所有重复的元素,即使它们已经存在。因此,实际的DOMNode对象是不同的,因此您只需观看DOMNode。