문제

나는 꽤 많이 각도에 새로운 것이지만, 나는 이것이 친절한 것처럼 느낍니다.

하나의 컨트롤러 범위에서 Ng-Repeat을 통해 여러 개의 컬렉션이 표시됩니다. 간단한 쿼리를 수행하려면 각 목록에 대한 입력 필드가 있습니다. 나는 내 코드에서 다양한 필터를 가지고 놀고 있었고, 필터 함수에 console.log를 넣는 것을 종료했습니다. 필터 함수가 하나의 목록에 대해 호출 될 때마다 범위의 모든 목록에 대해 호출되었음을 깨달았습니다. 또한 매번 필터 기능을 두 번 호출하고있었습니다. 3 개의 컬렉션을 사용하여 목록 중 하나를 필터링하면 필터 기능이 6 번 호출됩니다.

나는 그것이 내 사용자 정의 필터 일 수도 있고, 기본 필터 함수에서 그것을 시도했다. 같은 이야기. 다음은 내 코드가 있습니다 :

https://dl.dropbox.com/u/905197/ 앵귤러 필터 -TEST.HTML

콘솔로 이동하여 자신을 확인하십시오 : /

여기서 뭘 잘못하고 있니? 이것은 그런 간단한 것처럼 보이지만 너무 많은 일을하고 있습니다.

도움이 되었습니까?

해결책

이것은 정상이고 Angularjs는 'Dirty-check'접근 방식을 사용하므로 모든 필터를 호출하여 변경 사항이 있는지 확인해야합니다.이 후에는 하나의 변수 (입력 한 하나의 변수가 변경됨)를 감지 한 다음 다른 변경 사항이 있는지 탐지하기 위해 모든 필터를 다시 실행합니다.

질문 의 첫 번째 답변을 참조하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top