首頁 >web前端 >js教程 >ng-Repeat填充元素完成時是否觸發事件?

ng-Repeat填充元素完成時是否觸發事件?

DDD
DDD原創
2024-12-01 07:07:11740瀏覽

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

ng-Repeat 填充完成事件

問題

在$(document).ready() 中使用jQuery 選擇器操作由jQuery 選擇器操作由ng-eat填入的元素或$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');
  };
});

透過以下方式範例此解決方案的實際效果這個笨蛋。

以上是ng-Repeat填充元素完成時是否觸發事件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn