Драгула угловая, как получить доступ к элементу модели

Как получить доступ к точному элементу модели, который был перетащен с помощью события drop-model?

Описание события удаления из документов:

el был сброшен в цель раньше родного элемента, и первоначально пришел из источника

Кажется, чтоel возвращает элемент HTML, который был перетащен, но мне нужно выполнить действия с фактическим элементом данных за ним. Есть намеки?

 <div class="collapse" id="manageUsers">
    <div class='containerDragula' dragula='"bag"' dragula-model='usersInProject'>
        <div ng-repeat='user in usersInProject' ng-bind='user.email'></div>
    </div>
    <div class='containerDragula' dragula='"bag"' dragula-model='usersNotInProject'>
        <div ng-repeat='user in usersNotInProject' ng-bind='user.email'></div>
    </div>
</div>

$scope.$on('bag.drop-model', function (e, el, target, source) {
    //this returns the html element
    console.log(el);
});

1 ответ

Решение

У меня была та же проблема, и я решил ее, добавив идентификатор элемента в элемент HTML.

Что-то вроде этого:

<div id="{{ user.id }}" ng-repeat='user in usersNotInProject' ng-bind='user.email'></div>

В контроллере я ищу элемент, используя идентификатор:

$scope.$on('bag.drop-model', function (e, el, target, source) {
    //getById is a function you implement (unless you already have it)
    console.log(usersNotInProject.getById(el.attr('id')).email);
});
Другие вопросы по тегам