我有一个联系人数组,其中包含电子邮件列表。当用户在特定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)"
?
答案 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
}