Javascript AngularJS-在单击时更改顺序?

Javascript AngularJS-在单击时更改顺序?,javascript,angularjs,Javascript,Angularjs,快速提问 我有一个ng repeat,我知道我可以使用orderBy来更改它们的顺序,但我希望有这样一个,如果有人单击其中一个,它会将其与旁边的重复项交换。下面是我试图在伪代码中执行的一个示例: <div ng-repeat="object in objects" ng-click="swap position of object with the object next to it"></div> 这可能吗?我甚至很难弄清楚我会在背后做什么。我在想,

快速提问

我有一个ng repeat,我知道我可以使用orderBy来更改它们的顺序,但我希望有这样一个,如果有人单击其中一个,它会将其与旁边的重复项交换。下面是我试图在伪代码中执行的一个示例:

    <div ng-repeat="object in objects" 
    ng-click="swap position of object with the object next to it"></div>
这可能吗?我甚至很难弄清楚我会在背后做什么。我在想,也许先从$得到距离,然后从中减去一?我真的很困惑。如果有人能帮我,我将不胜感激


提前感谢,

我通过切换阵列中的位置解决了这个问题。以下是我使用的函数:

 $scope.move = function (arr, old_index, new_index) {
    if (new_index >= arr.length) {
        var k = new_index - arr.length;
        while ((k--) + 1) {
            arr.push(undefined);
        }
    }
    arr.splice(new_index, 0, arr.splice(old_index, 1)[0]);
    return arr;
};

也许这会有帮助

你能提供更多的信息吗?根据数据存放的位置、数据的类型、显示的对象的数量等,可以采用多种不同的方法来完成此操作。如果可以提供更多详细信息,则更容易给出更明确的答案。按sortorder设置orderBy sortorder,然后在ng中单击更改sortorder。或者你可以把这个项目剪接起来,改变我猜对象所在的实际数组的顺序