AngularJS -在ng-click上改变顺序

AngularJS - Changing order on ng-click?

本文关键字:改变 顺序 ng-click AngularJS      更新时间:2023-09-26

快速提问

我有一个ng-repeat,我知道我可以使用orderBy来改变它们的顺序,但是我希望有它,这样如果有人点击一个,它就会与旁边重复的一个交换。下面是我试图在伪代码中做的一个例子:

    <div ng-repeat="object in objects" 
    ng-click="swap position of object with the object next to it"></div>

这可能吗?我甚至搞不清楚我在背后要做什么。我在想也许先得到到$的距离然后减去1 ?我真的很困惑。如果有人能帮我的话,我会很感激的。

提前致谢

我通过改变数组中的位置来解决这个问题。下面是我使用的函数:

 $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;
};

也许这将帮助某人!