Вы можете попробовать что-то вроде приведенного ниже фрагмента кода. Также, пожалуйста, проверьте этот поршень для рабочего примера вашего данного сценария.
Шаблон:
<div ng-repeat="someId in myList" my-method='theMethodToBeCalled' my-id='someId.id' />
Контроллер:
app.controller('MainCtrl', function($scope) {
$scope.myList=[{
id: 1,
value: 'One'
}, {
id: 2,
value: 'Two'
}];
$scope.theMethodToBeCalled = function(id) {
alert(id);
};
});
Директива:
app.directive("myMethod",function($parse) {
var directiveDefinitionObject = {
restrict: 'A',
scope: {
method:'&myMethod',
id: '=myId'
},
link: function(scope,element,attrs) {
var expressionHandler = scope.method();
expressionHandler(scope.id);
}
};
return directiveDefinitionObject;
});