この記事では、AngularJS が ng-repeat レンダリングの完了を監視するための 2 つの方法を主に紹介し、カスタム命令とブロードキャスト イベントに基づいて AngularJS の関連操作テクニックを分析して、必要な友人が参照できるように監視機能を実装します。この記事の例へ
AngularJS が ng-repeat レンダリングの完了を監視するための 2 つの方法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
ng-repeat レンダリングの完了を監視するには 2 つの方法があります
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') }
カスタム命令ディレクティブ:
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テンプレートを使用してプロジェクトの構築とパッケージ化パスの問題を解決する
vue のバス グローバル イベント センター (詳細なチュートリアル)
以上がAngularJS での ng-repeat レンダリングのリスニングに関連する問題の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。