5

我有一个使用 Angularjs 过滤器过滤的项目列表。这是 Jade 标记:

li(ng-repeat="parcel in parcels | filter : filterActiveAreaParcels")

我想运行一些 jQuery 插件,以在过滤器功能运行并且元素在 DOM 中呈现后增强加载元素的外观。我该怎么做?

4

1 回答 1

1

假设您的过滤器没有做一些疯狂的异步事情,并且您的包裹列表中有合理数量的项目(请参阅 Misko 的 SO 答案here),那么这个plnkr应该可以完成这项工作。注意这个 plnkr 中的自定义过滤器是如何进行一些相对昂贵的操作(循环超过 1m 次迭代),但是 my-plugin 指令中的 $scope.$watch 仍然能够为列表中的每个过滤项按时调用 jquery 插件。

如果您的 jquery 插件在 ng-repeat 完成之前仍然被调用,那么您可以尝试在指令中使用 $timeout()。

于 2013-02-21T13:01:34.010 回答