JavaScript ng-repeat完成事件
我想用表调用一些针对div的jQuery函数。该表中填充了ng-repeat
。
当我打电话时
$(document).ready()
我没有结果也
$scope.$on('$viewContentLoaded', myFunc);
没有帮助。
ng重复填充完成后,有什么方法可以执行功能?我已经阅读了有关使用custom的建议directive
,但是我不知道如何在ng-repeat和div中使用它。
回答:
确实,您应该使用指令,并且没有与ng-Repeat循环的结尾相关的事件(因为每个元素都是单独构造的,并且具有自己的事件)。但是a)使用指令可能就是您所需要的,并且b)您可以使用一些特定于ng-Repeat的属性来进行“在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中查看其[运行情况。希望能帮助到你!
以上是 JavaScript ng-repeat完成事件 的全部内容, 来源链接: utcz.com/qa/410313.html