AngularJS - 更改ng-click的顺序?

时间:2015-08-28 23:24:21

标签: javascript angularjs

快速提问。

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

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

这可能吗?我甚至无法弄清楚我背后会做什么的逻辑。我想也许可以从第一个获得距离然后从中减去一个?我真的很困惑。如果有人可以帮助我,我真的很感激。

提前致谢,

1 个答案:

答案 0 :(得分:0)

我通过切换数组中的位置来解决它。这是我使用的功能:

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

也许这会对某人有帮助!