Javascript 角度可排序事件的工作方式与使用JQuery不同

Javascript 角度可排序事件的工作方式与使用JQuery不同,javascript,jquery,angularjs,jquery-ui,sorting,Javascript,Jquery,Angularjs,Jquery Ui,Sorting,我看到了可排序事件与JQuery sortable和Angular sortable的区别,尽管我的理解是Angular事件和选项应该与JQuery相同: “所有jQueryUI可排序选项都可以通过指令传递。” 下面显示了一个jquery排序表。当拖放项目时,会出现一个警报,显示该项目在被拖放后的索引。 使用Angular的同一个排序表具有相同的警报,但是它在删除项之前显示了项的索引。 为什么角度不同?下降后如何查找索引 (我还注意到包含选项在jquery版本中有效,但在angularjs

我看到了可排序事件与JQuery sortable和Angular sortable的区别,尽管我的理解是Angular事件和选项应该与JQuery相同:

“所有jQueryUI可排序选项都可以通过指令传递。”

下面显示了一个jquery排序表。当拖放项目时,会出现一个警报,显示该项目在被拖放后的索引。

使用Angular的同一个排序表具有相同的警报,但是它在删除项之前显示了项的索引。

为什么角度不同?下降后如何查找索引


(我还注意到包含选项在jquery版本中有效,但在angularjs版本中无效,因此我将其关闭)

我不知道AngularSortable在处理事件更新时如何工作,但确保在angularjs中调用所有更新时运行过程的一种方法是将其包装为
$timeout

更改:

$scope.sortableOptions = {
    tolerance: 'pointer',
    update: function(event, ui) { alert(ui.item.index()); }
}; 


嗯,这在JSFIDLE中有帮助,但在我的应用程序中没有。
$scope.sortableOptions = {
    tolerance: 'pointer',
    update: function(event, ui) { alert(ui.item.index()); }
};    
$scope.sortableOptions = {
    tolerance: 'pointer',
    update: function(event, ui) { alert(ui.item.index()); }
}; 
$scope.sortableOptions = {
    tolerance: 'pointer',
    update: function(event, ui) { 
       $timeout(function(){
          alert(ui.item.index()); 
       });

    }
};