Драгула угловая, как получить доступ к элементу модели
Как получить доступ к точному элементу модели, который был перетащен с помощью события 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);
});