私は実際に何がクリックされたかを示すコンテキストメニューディレクティブを探しています。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
'$ scope.items'の' Data'プロパティはどこにありますか? – cnorthfield