2017-10-07 50 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

相關問題