如何使用用户选择的数据调用函数?

时间:2014-02-06 09:41:27

标签: javascript angularjs

我有一个联系人数组,其中包含电子邮件列表。当用户在特定div上点击i时,我会使用ng-repeat生成div,我会调用ng-click="foo($index)"

 var contacts=[someMail];

 var userSelectedContact[];

 $scope.foo=function(row)
       {

       userSelectedContact.push(contacts[row]);

       }

问题在于我在"|filter"中添加ng-repeat来搜索并选择特定联系人。

由于过滤器在过滤后会创建另一个数组:当用户选择联系人时foo($index)被调用,并且它正在添加一些未被用户选择的其他联系人。

我可以理解,因为我只使用$index,它与过滤前的原始contacts数组中的索引不同。

所以我必须停止使用filter(或)索引来查找用户选择的联系人。 我该怎么办?还有其他办法吗?

如何使用用户选择的数据调用函数,例如ng-click="foo(someEmail)"

1 个答案:

答案 0 :(得分:0)

您可以将整个ng-repeat项目传递给ng-click函数

<div ng-repeat="item in items" ng-click="myFunction(item)"></div>

然后在控制器中

$scope.myFunction(item) {
    console.log(item.name);
    //or whatever you want to do with the item
}