2017-10-07 24 views
-1

我有一个问题,我已经创建了ng-repeat,这是我打印出来的名字。AngularJS拖放检查项目是否有一个类

然后在捕获li元素之后添加dndDragging类(对于li)。

现在我有一个问题,如何检查这个类是否已经添加后,拿起项目?

有人能告诉我该怎么做吗?

<ul dnd-horizontal-list="true" 
    dnd-list="board.lists" 
    dnd-allowed-types="['item']" > 

     <li ng-repeat="item in board.lists" 
      dnd-draggable="item" 
      dnd-type="'item'" 
      dnd-effect-allowed="move" 
      dnd-selected="models.selected = item" 
      ng-class="{'selected': models.selected === item}" 
      dnd-moved="removeList($index)" > 
       {{item.list}} 

     </li> 
    </ul> 

回答

0

这一切都取决于你想做什么,但我不会去任何类检查和DOM操作 - 这是jQuery的方式。

你最有可能需要的是把你的逻辑dnd-moved - 在这里你将拼接你的阵列和移动项目进行排列,并把它放在别的地方 - 那里该功能(removeList),您可以进行所有必要的逻辑。

如果这还不够,你可以用它来检查时元开始拖:

dnd-dragstart 

或此检查时,拖动结束:

dnd-dragend 

你连这个检查元素拖动另一个元素:

dnd-dragover 

只需添加回调函数,您可以在其中放置你的逻辑,所以没有必要进行课堂检查。我不是100%确定你想做什么,但首先考虑阅读所有文档,然后再开始实施解决方案:https://github.com/marceljuenemann/angular-drag-and-drop-lists

+0

嘿,它是这样的,如果你捕捉元素并轻轻移动它,这个元素可以消失,这是因为这样,第一个被执行:ul [dnd-list] .dndDraggingSource {display:none; }。一个阶级不应该加快自己的速度。问题是,要么眨眼我的列表,或者我可以稍微移动项目,并将其弹出,以便它会消失项目所以我想这样做,所以如果有一个类dnddragging然后做document.querySelector(“ul [dnd -list]> .dndDraggingSource“)。 style.display =“none”我记录问题:https://youtu.be/0wRbPusGkkA –

+0

,我不能使用dnd-dragover因为然后我没有这个指令的其他功能,我不移动元素 –

+0

把你的代码在plnkr或小提琴或笔 – pegla

相关问题