2013-04-18 2 views

ответ

1

Трудно точно выяснить, что вы пытаетесь достичь, но я думаю, что если вы используете нг-повторить вы можете сделать это:

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

Вот jsfiddle с HTML и все все проводные вверх, что вы можете экстраполировать: http://jsfiddle.net/nE9EE/

+0

с использованием ng-repeat, у меня есть массив дат и хочу показать каждую уникальную дату, а не каждую дату. –

+0

Похоже, что вы фильтруете только, чтобы [удалить повторяющиеся записи из массива] (http://stackoverflow.com/a/9229821/586621). –

+0

ваш ответ просто дает мне неопределенный индекс –

Смежные вопросы