2014-02-06 50 views
0

我有一个电子邮件列表中的联系人列表。我产生使用ng-repeat当用户点击我在一个特定的div div的我打电话ng-click="foo($index)"如何使用用户选择的数据调用函数?

var contacts=[someMail]; 

var userSelectedContact[]; 

$scope.foo=function(row) 
     { 

     userSelectedContact.push(contacts[row]); 

     } 

问题是,当我在ng-repeat添加"|filter"搜索和选择特定的联系人。

由于滤波器产生的滤波后另一个数组:当过用户选择一个接触foo($index)被调用,并且它被加入未由用户选择的一些接触。

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

因此,我必须停止使用过滤器(或)索引来查找用户选定的联系人。 我该怎么办?有没有其他方法?

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

+0

你为什么不通过整个NG重复的项目进入的范围和决定你想在控制器中使用什么? – doodeec

+0

and in controller $ scope.myFunction(item){console.log(item.name); //或其他} – doodeec

+0

感谢您的回复。我不知道我们可以通过这样的 – user3244665

回答

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 
}