微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

angularjs – ng-repeat完成事件

我想调用一些jQuery函数定位div与表。该表填充ng-repeat。

当我打电话

$(document).ready()

我没有结果。

$scope.$on('$viewContentLoaded',myFunc);

没有帮助。

在ng-repeat群完成后,是否有任何方法执行功能?我已经阅读关于使用自定义指令的建议,但我不知道如何使用它与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',attrs) {
    angular.element(element).css('border','5px solid red');
  };
});

看到它在行动在这Plunker.希望它帮助!

原文地址:https://www.jb51.cc/angularjs/147671.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐