我想在ngRepeat呈现其所有项目之后创建一个高亮显示文本的指令(使用jquery高亮插件)。请考虑以下html:
<div data-hightlight="" data-highlight-key="{{vm.highlight}}">
<div data-ng-repeat="item in items">
{{item.description}}
</div>
</div>
如果我将高亮显示在外部div上,则会在ng重复渲染之前执行,因此不会突出显示任何内容。如果我将它放在内部div上,则指令针对每个项目运行,效率非常低。
我还尝试检查$ scope。$ last,但是链接函数的元素是引用的,只是列表中的最后一项,所以只有这个项才能获得突出显示的文本。 (我可以尝试获取父元素,但对我来说,这似乎不是最好的做法)
代码在链接函数内部,我在其中观察highlightKey属性的更改。
P.S。 vm.highlight仅在数据从服务器返回后设置为其值