访问angularjs过滤器中的上一个元素项

时间:2013-04-18 17:30:31

标签: javascript angularjs

在angularjs中创建过滤器时,如何访问数组中的上一项? 即我想将当前元素与前一元素进行比较

1 个答案:

答案 0 :(得分:1)

很难弄清楚你想要达到的目标,但我想如果你正在使用ng-repeat,你可以这样做:

HTML:

<div data-ng-repeat="element in elements">
    <div>{{ element | myFilter:elements:$index</div>
</div>

的Javascript

.filter("myFilter", function(){
    return function(input, elements, index){

        if(index > 0){
            var previousElement = elements[index - 1]
        }

        return input;
    }
});

修改

好了,现在你已经指定了你要做的事情,你可以用不同的方式使用过滤器来代替删除重复的日期。

这是过滤器:

.filter("uniqueDates", function(){
    return function(input){
      var returnInput = [];
        for(var x = 0; x < input.length; x++){
            if(returnInput.indexOf(input[x]) === -1){
                returnInput.push(input[x]);
            }
        }

      return returnInput;  
    };
})

这是一个带有html的jsfiddle和所有可以从中推断的所有内容:http://jsfiddle.net/nE9EE/