Я ищу директиву контекстного меню, которое может сказать мне, что на самом деле было нажато, чтобы я мог реагировать на него.Angularj JS контекстное меню
Играли с this, но проблема этого модуля в том, что я не могу понять, как однозначно идентифицировать элемент, который был нажат. Так что я могу сделать правильную логику на нем:
мне нужно что-то, что я могу передать в функцию обратного вызова
Контроллер:
$scope.items.Data = [{Code:'row1', Name:'Name1'},{Code:'row2', Name:'Name2'}]
$scope.items.Actions = [
{
Code: 'Action1',
Name: 'First action'
},
{
Code: 'Action2',
Name: 'Second action'
}
]
var actionList = [];
for (var i = 0; i < $scope.items.Actions.length; i++) {
actionList.push($scope.items.Actions[i].Name, function ($itemScope,$event) {
console.log('Action executed', $scope.objectId, $itemScope,$event,$itemScope.$index);
// Need access to $scope.items.Actions[i].Code or at least the index of the array
});
}
$scope.contextOptions = actionList;
HTML:
<table>
<thead>
<tr>
<td>Code</td>
<td>Name</td>
</tr>
</thead>
<tbody>
<tr ng-repeat="row in items.Data" context-menu="contextOptions">
<td>{{row.Code}}</td>
<td>{{row.Name}}</td>
</tr>
</tbody>
</table>
Можете ли вы показать немного больше своего кода, включая HTML? – cnorthfield
добавлено больше кода и в основном мне нужно определить действие, которое было нажато – Jester
Где находится свойство 'Data' в' $ scope.items' ?? – cnorthfield