ng-Repeat Population 後の DOM 操作の成功を確認する
AngularJS は、コレクションを反復処理し、以下に基づいて動的コンテンツを生成するための ng-repeat ディレクティブを提供します。各項目。ただし、ng-repeat によって生成されたテーブルの作成がいつ完了するかを判断するのは困難な場合があります。この記事では、ng-repeat 作成プロセスの終了直後に、作成されたテーブルをターゲットとする jQuery 関数をトリガーする方法について説明します。
ディレクティブの使用
カスタム ディレクティブは、次のような包括的なソリューションを提供します。 ng-repeat の完了後に関数を実行します。 ng-Repeat ループの最後に関連付けられたイベントに依存するのではなく (各要素が独自のイベントで個別に作成されるため)、ディレクティブはカスタマイズされたアプローチを提供します。
要件にイベントのスタイル設定や管理が含まれる場合、テーブル全体の場合は、すべての ngRepeat 要素をカプセル化するディレクティブで十分です。逆に、各要素を個別に指定する場合は、ngRepeat 内でディレクティブを使用して、要素の作成後に各要素に対するアクションをトリガーできます。
ng-Repeat プロパティの利用
AngularJS ngRepeat ディレクティブ内で $index、$first、$middle、$last などのプロパティを提供します。これらのプロパティは、ループ内の現在の要素の位置に基づいてイベントのトリガーを容易にします。
次の例を考えてみましょう:
<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'); }; });
結論
カスタム ディレクティブとng-Repeat プロパティの機能を利用することで、開発者は、特に ng-repeat が作成プロセスを完了した後に関数を実行できます。これにより、動的要素の正確なターゲット設定が可能になり、必要なアクションやスタイルの変更をタイムリーに実行することが保証されます。
以上がAngularJS で ng-repeat 生成後に jQuery 関数を確実に実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。