게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
angular에서 ng-repeat 가 동작될때 함수를 불르고 싶습니다
게시물ID : programmer_13376짧은주소 복사하기
작성자 : 문식이당
추천 : 0
조회수 : 1258회
댓글수 : 7개
등록시간 : 2015/09/18 14:47:55
옵션
  • 본인삭제금지
기존에 제이쿼리 방식으로는

for(var i =0; i<data.length; i++){

$("#id").append("반복할 문구");

}

이런식으로 되어 있어서 for문 첫 시작때, 혹은 for문이 끝날 지점에 제가 원하는 함수를 불러올수 있었습니다. (아래 참조)

for(var i =0; i<data.length; i++){
if(i ==0){
loading_start();
// i가 0일때 즉 첫번째 for문 실행시 loading_start();란 함수 동작
}

if(i == data.length-1){
loading_end();
// i가 data.length-1일때 즉 불러온 데이터에서 마지막 차례일때 loading_end(); 란 함수 동작
}

$("#id").append("반복할 문구");

}


이렇게 하면 처음 for문에서 첫 시작시 loading_stat(); 함수 발동 그리고 마지막 차례일시 loading_end();을 발동 하게 됩니다.
이걸 왜 해야 하면 for문을 뿌릴때 그 과정에서 로딩 중이라는 문구나 로딩이미지를 넣을려고 합니다.

그렇기 때문에 for문 첫 시작시 loading_stat(); 로 로딩중을 알림
for문 끝날때 loading_end(); 로 로딩중을 삭제




이렇게 할려고 하는데 문제는 angular에서 ng-repeat를 쓰게 된점 입니다.
아시다피시 angular에서 ng-repeat는 html단에서 쓰게 됩니다.

<div ng-repeat = 'list in data'>
//반복할 문구
</div>

이렇게 사용 할수 있습니다. 여기서
<div ng-repeat = 'list in data'>
<div ng-if='{{$index}} == 0'>
ng-reapat 가 처음일때
</div>
<div ng-if='{{$index}} == data.length-1'>
ng-reapat 가 마지막일때
</div>
//반복할 문구
</div>

이렇게 처음과 끝을 캐치할순 있지만 html에서 캐치하기 때문에 원하는 함수를 불러올수 없습니다. (텍스트 출력은 가능)
ng-repeat가 반복될때 원하는 차례에서 함수를 발동할려면 어떻게 해야 할까요?
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호