Добрый вечер,
Я пытался использовать angular-boostrap-contextmenu в форме, которая заполняла div, используя ng-repeat
, привязанную к массиву объектов.После этого я пытаюсь щелкнуть правой кнопкой мыши и выбрать пользовательскую опцию, чтобы удалить выбранную «Строку», событие щелчка было запущено внутри пользовательского объекта menuOptions
, где объявлено контекстное меню.Несмотря на то, что я сопровождаю документацию словом, когда я пытался вызвать с использованием параметра $itemScope
либо $index
, либо $itemScope.item.name
, оба они были undefined
.
, я также должен сообщить вамчто объект menuOptions
найден в службе, которая вызывается из моего основного контроллера.
ЛЮБОЙ Помощь будет принята с благодарностью, отрицательные голоса без объяснения ПРОГРАММИРОВАНИЯ будутигнорируется.
Заранее спасибо,
Танос
This is my Code:
HTML
<div class="form-group" ng-repeat="purpose in ctrl.purposes track by $index">
<div class="col-lg-1">
<input id="FeeTypeCode_{{$id}}"
class="form-control text-left"
name="FeeTypeCode{{$id}}"
ng-dblclick="$ctrl.openModal()"
type="text"
ng-model="$ctrl.ApplicationType.Application.FeeTypeCode[$index]" />
</div>
... More Input Fields...
</div>
Javascript Controller.js
ctrl.menuIdentifier = 'FullMenu';
ctrl.purposes = [
{ name: 'Small Health Potion', cost: 4 },
{ name: 'Small Mana Potion', cost: 5 },
{ name: 'Iron Short Sword', cost: 12 }
];
ctrl.getContextMenu = function () {
return ContextMenuService.contextMenuSetup(ctrl.menuIdentifier, callbackParameters);
};
ctrl.menuIdentifier = 'FullMenu';
var callbackParameters = {
deleteRow: function (indexforremoval) {
ctrl.purposes.slice(indexforremoval);
}
}
ContextMenuService
function contextMenuSetup(menu_identifier, callbackParameters) {
switch (menu_identifier)
{
case 'FullMenu':
return [{
text: 'Delete Row',
click: function ($itemScope, $event, modelValue, text, $li) {
console.log($itemScope.$index); //Undefined
console.log($itemScope.item.name); //Undefined
}];
}
}
}