flimの答えはほとんど機能しますが、アイソレートスコープを作成するため、コントローラーに含まれるスコープでaddCtrl
定義する必要があります。これが実用的な解決策です:seenIds
addCtrl
HTML:
<div ng-app ng-controller="MainCtrl">
<ul>
<li data-ng-repeat="item in items">
<a id="{{item.id}}" data-ng-controller="addCtrl"
data-ng-click="item.clicked || insertRecord(item.id); item.clicked = true">
{{item.name}}
</a>
</li>
</ul>
</div>
JS:
function MainCtrl($scope) {
$scope.items = [
{id: 1, name: 'foo'},
{id: 2, name: 'bar'}
];
$scope.insertRecord = function(itemId) {
alert(itemId + ' clicked (inserting...)');
};
}
function addCtrl($scope) {
}
JSFiddle を参照してください。