是否有可能获得我拖过的元素的索引?

时间:2016-06-03 21:19:57

标签: angularjs html5

我正在使用angular-dragdrop。我需要的是将拖动的项目插入我拖动的列表中的正确位置。当下降发生时,我得到:

 $scope.onDrop = function ($event, $data, array) {
        // $data is the object being dropped.   
        array.push({
            id: $data.id,
            text: $data.text
        });
    };

正如您所看到的,我只是添加到数组的末尾。 如果我有一个索引,那么我可以将它插入它被删除的位置。

组件可以实现吗?

1 个答案:

答案 0 :(得分:0)

我认为这就是你所追求的。基本上,它捕获事件,并在数组中查找目标对象文本的索引,然后在那里插入。

  $scope.onDrop = function($event,$data,array){

      var idx = array.indexOf($event.target.innerText);

      array.splice(idx, 0, $data);

      $log.debug('Dropped ' + $data + ' on ' + $event.target.innerText);
      console.warn(array);
  };

具有定位的弹药:http://plnkr.co/edit/tNmVIj4YY76OrOiNiWf0?p=preview

旧掠过者(没有定位):http://plnkr.co/edit/5fD4UJA4y2sdZig2Rxtq?p=preview