2016-06-05 2 views
14

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

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

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

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

<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); 
}); 

ответ

3

У меня была такая же проблема и улажена, добавив идентификатор элемента в элемент 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); 
}); 
+0

Спасибо за этот умный способ сделать это – tinyhamster