在$(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中文網其他相關文章!