แน่นอนคุณควรใช้คำสั่งและไม่มีเหตุการณ์ผูกติดกับจุดสิ้นสุดของ ng-Repeat loop (เนื่องจากแต่ละองค์ประกอบถูกสร้างเป็นเอกเทศและมีเหตุการณ์เป็นของตัวเอง) แต่ a) การใช้คำสั่งอาจเป็นสิ่งที่คุณต้องการและ b) มีคุณสมบัติเฉพาะ ng-Repeat ที่คุณสามารถใช้เพื่อทำให้เหตุการณ์ "on ngRepeat เสร็จสิ้น" ของคุณ
โดยเฉพาะถ้าสิ่งที่คุณต้องการคือการจัดรูปแบบ / เพิ่มเหตุการณ์ลงในตารางทั้งหมดคุณสามารถทำได้โดยใช้คำสั่งที่ครอบคลุมองค์ประกอบ ngRepeat ทั้งหมด ในทางกลับกันหากคุณต้องการระบุแต่ละองค์ประกอบโดยเฉพาะคุณสามารถใช้คำสั่งภายใน ngRepeat และมันจะทำหน้าที่กับแต่ละองค์ประกอบหลังจากที่มันถูกสร้างขึ้น
จากนั้นยังมี$index
, $first
, $middle
และ$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');
};
});
ดูการทำงานจริงในPlunkerนี้ หวังว่ามันจะช่วย!
myMainDirective
โค้ดทำงานหลังจากสิ้นสุดลูปได้หรือไม่ ฉันจำเป็นต้องอัปเดตแถบเลื่อนของ div div