[英]Angular drag and drop
我有兩個簡單的列表,可以將問題拖來回去。 每次我拖動其中一個問題時,它的“活動”狀態都會變為是或否:
$scope.onDrop = function ($event, $data, array) {
if ($data.Active) {
$data.Active = false;
array.push($data);
}
else if (!$data.Active) {
$data.Active = true;
array.push($data);
}
};
這很好用,但是我需要限制用戶將其拖放到要拖動的列表中,因為這也會觸發onDrop函數。
我正在使用: http : //angular-dragdrop.github.io/angular-dragdrop/
我剛剛開始進行拖放操作,但是從文檔中可以得知,我必須使用drag-channel / drop-channel屬性,但是我很難理解它們的實際工作方式。
在我的標記中,我有兩個面板,如下所示:
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">
Aktiva frågor
</div>
<div class="panel panel-body">
<ul class="dnd"
drag-channel="A"
drop-channel="A"
ui-on-drop="onDrop($event,$data,activeQuestions)">
<li ui-draggable="true" drag="aquestion"
on-drop-success="dropSuccessHandler($event,$index,activeQuestions)"
ng-repeat="aquestion in activeQuestions track by $index">
{{aquestion.Name}}
</li>
</ul>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">
Inaktiva Frågor
</div>
<div class="panel panel-body" >
<ul class="dnd"
drag-channel="B"
drop-channel="B"
ui-on-drop="onDrop($event,$data,inactiveQuestions)">
<li ui-draggable="true" drag="iquestion"
on-drop-success="dropSuccessHandler($event,$index,inactiveQuestions)"
ng-repeat="iquestion in inactiveQuestions track by $index">
{{iquestion.Name}}
</li>
</ul>
</div>
</div>
</div>
我已經嘗試了A和B的各種組合,但是都沒有用,所以顯然我似乎不明白它們的邏輯。
或者,如果這不是解決問題的最佳方法,請讓我知道更好的方法。 :)
通過將Active邏輯移到我的代碼后面來解決它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.