1

在 ngRepeat 呈现其所有项目之后,我想创建一个突出显示文本的指令(使用 jquery highlight 插件)。考虑以下html:

<div data-hightlight="" data-highlight-key="{{vm.highlight}}">
  <div data-ng-repeat="item in items">
       {{item.description}}
  </div>
</div>

如果我将高亮放在外部 div 上,它会在 ng repeat 渲染之前执行,因此不会突出显示任何内容。如果我把它放在内部 div 上,该指令会为每个项目运行,这是非常低效的。

我还尝试检查 $scope.$last,但是链接函数所指向的元素只是列表中的最后一项,因此只有此项会突出显示文本。(我可以尝试获取父元素,但对我来说,这似乎不是最好的做法)

代码在链接函数中,我在其中观察 highlightKey 属性的变化。

PS vm.highlight 仅在数据从服务器返回后设置为其值

4

0 回答 0