2013-02-21 4 views
4

Angularjs 필터로 필터링되는 항목의 목록이 있습니다. 여기에 옥 마크 업입니다 :Angularjs 필터 콜백

li(ng-repeat="parcel in parcels | filter : filterActiveAreaParcels") 

나는 필터 기능 실행 및 요소는 DOM에서 렌더링 한 후로드 된 요소의 모양을 향상 일부 jQuery 플러그인을 실행하려면. 내가 어떻게 해? 필터는 어떤 미친 비동기 물건을하지 않고 당신의 소포의 목록에있는 항목의 적절한 수를 가지고 있다고 가정

답변

1

(참조 Misko의 SO here 대답)이 plnkr이 일을해야보다. 이 plnkr의 사용자 정의 필터가 (1m 반복을 반복하면서) 상대적으로 값 비싼 연산을 수행하는 방법에주의하십시오. my-plugin 지시문의 $ watch는 목록에서 필터링 된 각 항목에 대해 제 시간에 jquery 플러그인을 계속 호출 할 수 있습니다.

ng-repeat가 실행되기 전에 jquery 플러그인이 여전히 호출되고있는 경우 지시문에서 $ timeout()을 사용해보십시오.

-1

자신의 필터를 작성하는 것은 매우 쉽습니다. 모듈에 새 필터 팩토리 기능을 등록하기 만하면됩니다. 내부적으로 이것은 filterProvider를 사용합니다. 이 팩토리 함수는 입력 값을 첫 번째 인수로 취하는 새 필터 함수를 반환해야합니다. 모든 필터 인수는 필터 함수에 추가 인수로 전달됩니다. Download Example