2013-04-18 2 views
0

angularjs에 필터를 만들 때 배열의 이전 항목에 어떻게 액세스합니까? 즉 당신이 달성하기 위해 노력하고 정확하게 파악하기 이전angularjs 필터의 이전 요소 항목에 액세스

+0

http://jsfiddle.net/nE9EE/이 우리를보기 코드하십시오에서

.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입니다 :

여기 필터입니다. – m90

답변

1

하드에 현재의 요소를 비교하려면,하지만 난 당신이 사용하는 경우 당신이 할 수있는 NG를 반복 생각 :

HTML :

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

자바 스크립트

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

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

     return input; 
    } 
}); 

편집

이제는 수행하려는 작업을 지정 했으므로 필터를 다른 방식으로 사용하여 대신 중복 된 날짜를 제거 할 수 있습니다.

+0

ng-repeat를 사용하여 날짜 배열을 가지고 있으며 각 날짜가 아닌 각 고유 날짜를 표시하려고합니다. –

+0

필터처럼 [배열에서 중복 항목을 제거해야합니다] (http://stackoverflow.com/a/9229821/586621). –

+0

당신의 대답은 저에게 색인을위한 정의되지 않은 것을 제공합니다. –