ホームページ > ウェブフロントエンド > jsチュートリアル > ng-Repeat が要素の入力を完了したときにトリガーされるイベントはありますか?

ng-Repeat が要素の入力を完了したときにトリガーされるイベントはありますか?

DDD
リリース: 2024-12-01 07:07:11
オリジナル
785 人が閲覧しました

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 固有のプロパティを利用することで実行可能なイベントが提供されます。 solution.

ディレクティブ

テーブル全体にイベント ハンドラーをスタイル設定したり付加したりすることが目的の場合は、すべての ng-repeat 要素をカプセル化するディレクティブを使用できます。逆に、特定の要素をアドレス指定するには、作成された要素ごとに実行される ng-repeat 内でディレクティブを使用します。

Ng-Repeat Properties

$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');
  };
});
ログイン後にコピー

このソリューションのサンプルを以下に示します。このプランカーによるアクション。

以上がng-Repeat が要素の入力を完了したときにトリガーされるイベントはありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート