将ng-repeat表达式传递给ng-click函数

时间:2014-01-08 18:11:40

标签: javascript angularjs angularjs-directive

html模板包含已过滤的项目列表

        <ul class="gift_info">
         <li ng-repeat="code in codes | filter:{id_id:detail.id}">{{code.discount}}</li>
        </ul>

在此列表下方有一个代码如

的按钮
<button type="button" ng-click="add_something(repeat_expression_needed)">Add more</button>

目标是将上面的ng-repeat中的项目作为参数(集合,数组,等等)提供给下面的函数。 仅通过模板指令是否可行或者需要涉及一些控制器技巧?

2 个答案:

答案 0 :(得分:1)

使用@Jonathan方法的代码指出

<ul class="gift_info">
    <li ng-repeat="code in (filteredCodes = (codes | filter: {id_id:detail.id})">{{code.discount}}</li>
</ul>

然后

<button type="button" ng-click="add_something(filteredCodes)">Add more</button>

答案 1 :(得分:0)

您可以使用ng-repeat内部的表达式来指定一个包含该集合的变量,然后在该范围内可用。

见答案: How can I obtain the result array of an angular "| filter" expression in a variable?