Angularjs 可以得到我拖过的元素的索引吗?

Angularjs 可以得到我拖过的元素的索引吗?,angularjs,html,Angularjs,Html,我正在使用。我需要的是在我正在拖动的列表中的正确位置插入拖动的项。当下降发生时,我得到: $scope.onDrop = function ($event, $data, array) { // $data is the object being dropped. array.push({ id: $data.id, text: $data.text }); }; 正如你所看到的,我

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

 $scope.onDrop = function ($event, $data, array) {
        // $data is the object being dropped.   
        array.push({
            id: $data.id,
            text: $data.text
        });
    };
正如你所看到的,我只是在数组的末尾添加。 如果我有一个索引,那么我可以把它插入到被删除的地方


这在组件上可能吗?

我想这就是您想要的。基本上,它捕获事件,并在数组中找到目标对象文本的索引,然后插入其中

  $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);
  };
带定位的插入器:


旧plunker(无定位):

如果您使用正在使用的代码创建plunker,这将有助于进行故障排除。感谢您的回复。我基本上使用:
$event
对象有一个
.toElement
属性。如果你的
  • 都有唯一的id属性,那么你可以找出它是放在哪个
  • 上的,在数组中查找它,并将被放的项放在它后面的数组中。好的,我已经取得了Lex提到的内容,找到了$event.target元素,并在上面放置了一个id。谢谢,这很有效。你能把这个作为答案吗。谢谢大家的帮助。谢谢布莱恩(我以前从未创建过plunkr,但将来会创建)。因此,在你的plunkr中,如果我将“Jane”拖到“Jack”上方,我希望列表中有Jack的索引,这样我就可以在他上方插入。哦,好的。我知道你现在要做什么了。让我想想