Сбой контекстного меню: удаление заполненных элементов ng-повторения - AngularJS - PullRequest
0 голосов
/ 19 октября 2018

Добрый вечер,

Я пытался использовать 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
                    }];
                }
            }
  }
...