>웹 프론트엔드 >JS 튜토리얼 >ng-Repeat가 요소 채우기를 완료하면 이벤트가 트리거됩니까?

ng-Repeat가 요소 채우기를 완료하면 이벤트가 트리거됩니까?

DDD
DDD원래의
2024-12-01 07:07:11736검색

Is There an Event Triggered When ng-Repeat Finishes Populating Elements?

ng-Repeat 채우기 완료 이벤트

문제

$(document).ready() 내에서 jQuery 선택기를 사용하여 ng-repeat로 채워진 요소를 조작하는 중 또는 $scope.$on('$viewContentLoaded', myFunc)은 쓸모가 없는 것으로 판명되었습니다. ng-repeat 완료 시 트리거되는 전용 이벤트가 있나요?

답변

ng-repeat 종료를 알리는 특정 이벤트는 없지만 지시문과 ng-repeat 관련 속성을 활용하면 실행 가능한 이벤트를 제공합니다.

지시문

스타일을 지정하거나 전체 테이블에 이벤트 핸들러를 연결하는 것이 목표라면 모든 ng-repeat 요소를 캡슐화하는 지시문을 사용할 수 있습니다. 반대로 특정 요소를 처리하려면 생성된 각 요소에 대해 실행되는 ng-repeat 내의 지시어를 사용하세요.

Ng-Repeat 속성

$index, $ first, $middle 및 $last 속성은 이벤트 트리거를 활성화합니다. 예를 들어 $last 속성을 활용하면 마지막 요소가 생성될 때 경고를 표시할 수 있습니다.

다음 HTML을 고려하세요.

<div ng-controller="Ctrl" my-main-directive>
  <div ng-repeat="thing in things" my-repeat-directive>
    thing {{thing}}
  </div>
</div>

동반되는 지시문은 다음과 유사할 수 있습니다.

angular.module('myApp', [])
.directive('myRepeatDirective', function() {
  return function(scope, element, attrs) {
    angular.element(element).css('color','blue');
    if (scope.$last){
      window.alert("im the last!");
    }
  };
})
.directive('myMainDirective', function() {
  return function(scope, element, attrs) {
    angular.element(element).css('border','5px solid red');
  };
});

이 솔루션 샘플 이 Plunker를 통해 실행 중입니다.

위 내용은 ng-Repeat가 요소 채우기를 완료하면 이벤트가 트리거됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.