Angularjs:如何在ng-repeat之上移动$ index

时间:2014-06-02 10:21:15

标签: javascript angularjs angularjs-ng-repeat

我想移动ng-repeat列表的一个项目,以使其处于第一位置。

我尝试了几件事,但似乎找不到使用orderby过滤器等的简单解决方案。

这是一个小提琴:

http://jsbin.com/xavexepa/3/edit

目标是在ng-repeat初始化时将虎或斑马放在第一个位置,而不进行其他任何排序

1 个答案:

答案 0 :(得分:0)

如果您只想将项目从一个索引移动到另一个索引,这是一个简单的解决方案:

var arr = [
    {
        "name": "dog"
    },
    {
        "name": "cat"
    },
    {
        "name": "mouse"
    }
]

var move = function (array, fromIndex, toIndex) {
    array.splice(toIndex, 0, array.splice(fromIndex, 1)[0] );
    return array;
}

makeItemFirst = function (name){
    for (var i = 0; i < arr.length; i++){
        if (arr[i].name == name){
            arr = move(arr, i, 0);
        }
    }
}

makeItemFirst("mouse");