You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AngularJS拖拽排序后如何获取模型数组?

如何在AngularJS ui-sortable拖拽排序后获取更新后的模型数组hiringstagelist?

其实很简单——ui-sortable会自动帮你同步ng-model绑定的数组,拖拽完成后,hiringstagelist本身就是排序后的最新状态,你不需要额外去“获取”,直接用就可以了。下面给你两种常用的场景示例:

1. 在拖拽完成的回调里直接使用

你可以在sortableOptions里配置update或者stop事件回调,在拖拽动作完成时立刻拿到排序后的数组:

$scope.sortableOptions = {
  // update事件在排序发生变化时触发
  update: function(e, ui) {
    // 这里的$scope.hiringstagelist就是刚排序好的数组
    console.log('排序后的招聘阶段列表:', $scope.hiringstagelist);
    // 比如你要提交到后端,直接传这个数组就行
    $scope.saveSortedStages($scope.hiringstagelist);
  },
  // stop事件在拖拽完全结束(鼠标松开)时触发
  stop: function(e, ui) {
    console.log('拖拽结束后的最终列表:', $scope.hiringstagelist);
  }
};

2. 在其他作用域内直接访问

只要是在AngularJS控制器的作用域里,任何时候你需要用到这个列表,直接访问$scope.hiringstagelist就可以——因为拖拽后的数组变化已经通过双向数据绑定同步到了作用域中。比如你可以加个按钮,点击后获取当前排序:

$scope.getLatestSortedList = function() {
  console.log('当前最新排序的列表:', $scope.hiringstagelist);
  return $scope.hiringstagelist;
};

原理补充

ui-sortable和ng-model绑定后,拖拽操作会直接修改绑定的数组对象,AngularJS的双向数据绑定机制会自动把这个变化同步到作用域中,所以你不需要手动去从DOM里提取数据,直接用作用域里的hiringstagelist就完全没问题。

内容的提问来源于stack exchange,提问作者Shalini Raj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:31:48