Kendo ui 如何从剑道ui排序表中获取项目列表

Kendo ui 如何从剑道ui排序表中获取项目列表,kendo-ui,angularjs-ng-repeat,kendo-sortable,Kendo Ui,Angularjs Ng Repeat,Kendo Sortable,我想使用kendo ui sortable listview从bind对象中获取已排序的列表项。请参考下面的示例代码 一种方法是使用移动或更改可排序列表时激发的剑道事件来设置移动的ng repeat中项目的新索引值 您可以在“k-on-change”中设置事件 这看起来像是一种黑客行为,但话说回来,当使用Telerik控件时,它总是感觉像是一种黑客行为 下面是一个关于如何使用angular事件的好方法,他们声称这是最佳实践。希望有帮助 你在这里要什么?您已经在已排序列表视图中拥有了所有项。你想保

我想使用kendo ui sortable listview从bind对象中获取已排序的列表项。请参考下面的示例代码


一种方法是使用移动或更改可排序列表时激发的剑道事件来设置移动的ng repeat中项目的新索引值

您可以在“k-on-change”中设置事件

这看起来像是一种黑客行为,但话说回来,当使用Telerik控件时,它总是感觉像是一种黑客行为


下面是一个关于如何使用angular事件的好方法,他们声称这是最佳实践。希望有帮助

你在这里要什么?您已经在已排序列表视图中拥有了所有项。你想保存列表的新顺序吗?是的。我想保存新的顺序列表。是的,我是这样做的,但我觉得这不是一种有棱角的做事方式$scope.onChange=function(e){var item=activeprist.splice(e.oldIndex,1)[0];activeprist.splice(e.newIndex,0,item);};在剑道中还有其他的解决方案吗?这很难,因为你是根据项目本身的索引来确定列表的角度顺序的,这很好。但当您移动它时,还必须修改索引的对象值,并修改每个其他项中的索引值。另一个困难的方面是,因为它是telerik控件,所以实际上没有处理绑定的元素。他们有各种各样的“魔法”,让你在视觉上得到你想要的,但你可能无法选择一种“有角度的方式”,因为你在使用剑道。这是一种“剑道角度”的方式。有什么方法可以重置排序列表吗?我不确定,但似乎刷新数据就可以了。像$(“#可排序”).data('kendoSortable').refresh();
<ol id="sortable" kendo-sortable k-options="sortableOptions" k-on-change="change(kendoEvent)">
$scope.change = function(e) {
  console.log(e);
  alert("The e object has stuff like the old index:" + e.oldIndex);
  //Get the correct item from the bound list based on index and change the index values in the list to match.       
}