이 글에서는 AngularJS가 ng-repeat 렌더링 완료를 모니터링하는 두 가지 방법을 주로 소개하고, 모니터링 기능을 구현하기 위한 커스텀 명령어와 브로드캐스트 이벤트를 기반으로 AngularJS의 관련 운영 기술을 분석하여 도움이 필요한 친구들이 참고할 수 있도록 하겠습니다. 이 기사의 예제
AngularJS가 ng-repeat 렌더링 완료를 모니터링하는 두 가지 방법을 설명합니다. 참고용으로 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.
ng-repeat 렌더링 완료를 모니터링하는 방법에는 두 가지가 있습니다.
1. 가장 실용적인 방법:
<ul class="pprt_content"> <li ng-repeat="src in imageHotList track by $index" ng-click='goGoodsDet(src.goodsId,src.merchId)' on-finish-render-filters="completeRepeat"> <img ng-src="{{productUrl}}{{src.imageName}}"> </li> </ul>
해당 스코프 컨트롤러:
$scope.completeRepeate= function(){ alert('1') }
Custom Instruction directive :
var app = angular.moduler('myApp',[]); app.directive('onFinishRenderFilters', ['$timeout', function ($timeout) { return { restrict: 'A', link: function(scope,element,attr) { if (scope.$last === true) { var finishFunc=scope.$parent[attr.onFinishRenderFilters]; if(finishFunc) { finishFunc(); } } } }; }])
2. 방송 이벤트 사용
/* * Controller文件中的代码 * Setup general page controller */ MetronicApp.controller('simpleManageController', ['$rootScope', '$scope', 'settings','$http', function($rootScope, $scope, settings,$http) { $scope.$on('ngRepeatFinished', function (ngRepeatFinishedEvent) { //下面是在table render完成后执行的js FormEditable.init(); Metronic.stopPageLoading(); $(".simpleTab").show(); }); }); MetronicApp.directive('onFinishRenderFilters', function ($timeout) { return { restrict: 'A', link: function(scope,element,attr) { if (scope.$last === true) { $timeout(function() { scope.$emit('ngRepeatFinished'); }); } } }; });
HTML
<!--HTML页面的代码,添加标签onFinishRenderFilters(格式有变):on-finish-render-filters--> <tr style="display: none" class="simpleTab" ng-repeat="simpleProduct in simpleProducts" on-finish-render-filters> <td> {{simpleProduct.productNo}} </td> </tr>
위 내용은 앞으로 모든 사람에게 도움이 되기를 바랍니다.
관련 기사:
vue에서 전역 프롬프트 상자 구성 요소를 사용하는 방법은 무엇입니까?
Angular4에서 ElementRef 애플리케이션을 사용하는 방법
vue에서 cli 요청 프록시 및 프로젝트 패키징 문제를 사용하는 방법
vue-cli에서 webpack 템플릿을 사용하여 프로젝트 구성 및 패키징 경로 문제 해결
위 내용은 AngularJS에서 ng-repeat 렌더링 청취와 관련된 문제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!