angularjs - AngularUI UI 可排序索引更新问题

标签 angularjs jquery-ui-sortable angular-ui

我在 AngularUI 的 ui-sortable 指令中遇到了一个奇怪的错误。在大多数情况下,拖动元素似乎很好,当元素被拖动到新位置时索引会更新。 但是,有时会出现未更新的情况。我创建了一个出现问题的可重复实例。第一次运行时,将行 2//二 线向下拖动一行,索引显然没有更新。

有办法解决这个问题吗?

HTML:

<section ng:controller="controller" ui-sortable ng-model="nums">
    <div ng-repeat="i in nums">
       {{$index}} // {{i}}
    </div>
</section>

JS:

var myapp = angular.module('myapp', ['ui']);
myapp.controller('controller', function ($scope) {
    $scope.nums = ['zero','one','two','three','four','five'];
});
angular.bootstrap(document, ['myapp']);

Jsfiddle:http://jsfiddle.net/jeffreyqua/hKYWr/1225/

最佳答案

您的问题的解决方案比您想象的要简单得多。您使用的是旧版本的 Angular-UI Sortable 插件,该插件无法与较新的 jQuery 插件很好地配合。

最新版本将解决您的问题: https://github.com/angular-ui/ui-sortable/blob/c4b8e1b9ce8a7e0525aff3ca31f439e30c5b0347/src/sortable.js (哈希值与已知的工作版本 Hook 。您也可以从主版本制作本地副本)

JS 摆弄了新版本的可排序的导入。 http://jsfiddle.net/9eVEc/

请注意,您必须更改 angular.module 依赖项以包含 ['ui.sortable'] 而不仅仅是 ['ui']。

即:

var myapp = angular.module('myapp', ['ui.sortable']);

关于angularjs - AngularUI UI 可排序索引更新问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22002262/

相关文章:

jQuery Sortable - 拖放多个项目

jQuery 可排序和可删除

jquery - 如何检测 Angular 中是否*未*单击指令元素

javascript - Angular-UI Router - 解决不等待 promise 解决由于状态切换

javascript - 等待 AngularJS 1 中动态加载的外部脚本

javascript - 如何将 Angular 的 ui-sref 插入链接文本中?

javascript - 动态拖放 Jquery UI 可排序

javascript - Angular UI Router - 继承状态下的 View

javascript - 在 angularjs 中使用 ng-repeat 时扩展 $index 的范围

javascript - 加载 bootstrap 之前获取 json 数据