Angular-UI ui-sortable与有界数组失去同步

时间:2013-12-13 18:42:59

标签: jquery jquery-ui angularjs angular-ui

首先让我告诉你,我是html / js开发的初学者。

使用 angular-ui 允许对列表进行排序(ul),在执行 SOME 操作时,数组会丢失与列表的同步。

从:

开始
$scope.list = ["one", "two", "three", "four"];

和html:

<ul ui:sortable ng:model="list">
        <li ng:repeat="item in list" class="item">{{item}}</li>
</ul>

当我在第二个和第三个之间拖动(示例)第一个 li 元素时,它会在 ul 中更改位置,但是有界项目仍然位于列表中的相同位置数组。

>angular.element($(".ng-scope")).scope().list
["one", "two", "three", "four"];

我创建了一个jsfiddle并且可以测试该行为: http://jsfiddle.net/DmLt2/

如果我们稍微玩一下,就可以观察到其他奇怪的行为。

JQuery 1.9.1,JQueryUI 1.10.3,Angular 1.2.2,AngularUI 0.4.0

与此同时,我在网上找到了一个jQuery UI Sortable插件包装器。经过微小的改动,我设法让它在这里工作: http://jsfiddle.net/42VCK/

然而,它需要删除对AngularUI的引用或更改模块名称。

任何人都可以给我一些帮助吗?

1 个答案:

答案 0 :(得分:1)

不确定你使用的是什么角度ui,但它已经过时了。最新的ui-sortable托管在https://github.com/angular-ui/ui-sortable。重要提示,要与AngularJS 1.2.x一起使用,您需要根据自述文件使用ui-sortable分支angular1.2https://github.com/angular-ui/ui-sortable/tree/angular1.2

使用上述来源,以下jsfiddle基于您的示例,除非使用正确的ui可排序来源:http://jsfiddle.net/BuLdk/1/