AngularJS:如何从控制器引用过滤的ng-repeat项目

时间:2013-05-28 13:44:24

标签: angularjs

我有一些通过ng-repeat指令渲染出来的JSON数据,然后通过一些复选框/下拉菜单以及控制器中的一些自定义过滤器函数来过滤结果。

我现在想要为我的控制器添加一个函数,该函数由某些复选框上的“ng-change”触发,可以引用我的“ng-repeat”中的当前项目列表。我意识到我可以从自定义过滤器中引用这些值,例如$scope.filterProvider = function(item),但是然后为ng-repeat中的每个项目调用此函数,这不是我想要的 - 我希望函数能够只要在每次选中/取消选中复选框时调用,我需要该功能才能引用我的ng-repeat中的项目...这对任何人都有意义吗?!如果是这样,有谁知道我该怎么做?

谢谢: - )

1 个答案:

答案 0 :(得分:2)

假设您有ng-repeat="item in items",那么您可以使用ng-click=thisAmazingFct(item)之类的内容来调用thisAmazingFct时传递当前项目。

如果您更喜欢使用items数组中项目的索引,请使用ng-click=thisAmazingFctByIndex($index)之类的内容,其中$index会自动设置为ng-repeat指令的当前项索引。