2016-10-17 4 views
0

배열 목록이 있습니다. 텍스트 필드와 ng-repeat로 필터링합니다. ng-enter에 사용하는 애니메이션은 매우 간단합니다 (페이드 인). 그러나 검색 쿼리에서 백 스페이스 키를 누르면 필터 항목이로드되고 버그가있는 것처럼 보입니다. 전체 목록을 다시 페이드 인시킬 수있는 방법이 있습니까 (모든 항목을 다시 시작하여 초기화).ng-repeat가있는 앵귤러 애니메이션은 항상 배열 변경시 ng-enter를 실행합니다.

아마 배열을 재설정 했습니까? 아니면 뒤범 거리겠습니까? 전체 목록에서 ng-enter를 실행하는 더 좋은 방법이 있습니까?

답변

0

동작이 올바르게 들립니다. 왜 제거되지 않은 항목을 페이드하고 싶습니까? 사라지지 않은 항목이 갑자기 사라지는 것을 사용자에게 혼란스럽게 할 수 있습니다. 어쩌면 gif를 게시하면 대답하기가 더 쉬울 것입니다.

+0

나는 애니메이션을 비틀 거리고 있습니다. 동작은 정확하지만 목록의 큰 덩어리를 제거/필터링 한 다음 백 스페이스 키를 누르면 필터링 된 항목이 다시 돌아옵니다. 필터링되지 않은 항목은 제외하고 위에서 아래로 이동합니다. 오히려 전체 목록을 다시 애니메이트하려고합니다. –

+0

그래서 문제가 순서가 바뀌 었습니까? 'ng-repeat' 정의에'track by '을 추가하면 다음과 같이 도움이 될 것입니다 : https://docs.angularjs.org/api/ng/directive/ngRepeat#tracking-and-duplicates –