2013-02-21 91 views
4

我有一个正在用Angularjs过滤器过滤的项目列表。这里是玉标记:Angularjs过滤器回调

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

我要运行一些jQuery插件,提高了加载元素的外观的过滤功能运行和元素DOM渲染后。我该怎么做?

回答

1

假设你的过滤器是不是做一些疯狂的东西,异步和你包裹列表中有项目的合理数量(见MISKO的SO回答here)比这plnkr应该做的工作。注意这个plnkr中的自定义过滤器是在做一些相对昂贵的操作(循环超过1m迭代),但是在my-plugin指令中的$ scope。$ watch仍然能够为列表中的每个过滤项目准时调用jquery插件。

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

-1

编写自己的过滤器非常简单:只需在模块中注册一个新的过滤器工厂函数即可。在内部,这使用了filterProvider。这个工厂函数应该返回一个新的过滤器函数,它将输入值作为第一个参数。任何过滤器参数都作为附加参数传递给过滤器函数。 Download Example