2014-02-06 47 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 
}