Javascript 是否有方法检测重复项目何时完成角度1.0.8稳定的加载?

Javascript 是否有方法检测重复项目何时完成角度1.0.8稳定的加载?,javascript,angularjs,angularjs-ng-repeat,Javascript,Angularjs,Angularjs Ng Repeat,在ng repeat div标记之间 我有div.cover\u container.fetched元素,这些元素显示使用$http.get获取的数据 我想在这些元素上附加事件处理程序,但我不能这样做,因为有时它们还没有完成加载 负责附加事件处理程序的函数是activateGear 即使我将activateGear放在成功部分中,但activateGear并不总是有效,因为执行函数时不存在div.cover\u container.fetched $http.get(url).success(f

在ng repeat div标记之间

我有
div.cover\u container.fetched
元素,这些元素显示使用
$http.get获取的数据

我想在这些元素上附加事件处理程序,但我不能这样做,因为有时它们还没有完成加载

负责附加事件处理程序的函数是
activateGear

即使我将
activateGear
放在成功部分中,但
activateGear
并不总是有效,因为执行函数时不存在
div.cover\u container.fetched

$http.get(url).success(function(data, status, headers, config) {
      var items = data.stories;
      this.maxLimit = data.paging.count;
      for (var i = 0; i < items.length; i++) {
        if (this.items.length < this.maxLimit) {
          this.items.push(items[i]);
        }
      }
      activateGear();

最好的方法是将关注点分开

将视图转换为一个指令,在该指令中可以利用
链接
函数对已完成渲染的元素进行操作

$http
是一个您将在服务中使用的提供者,因此这不是DOM操作的地方,如果您试图在控制器中使用它,这是一个更糟糕的想法


对于阅读的文档和一个很好的学习资源:

我遵循这个示例。我还通过使用setInterval获得了我想要的东西,所以我现在对如何在不使用这种变通方法的情况下实现同样的目标感兴趣。请参阅问题更新。正如您所提到的,我也对分离关注点感兴趣。但我在angularjs方面还不够专业,无法
将视图转化为一个指令,在这个指令中,我可以利用链接功能
我在不到一周前开始使用angularjs。
  MyWorks.prototype.nextPage = function() {
    if (this.busy) return;
    this.busy = true;
    var url = "/my_works?page=" + this.page + "&top=" + this.perPage + "&callback=JSON_CALLBACK";
    $http.defaults.headers.get = { 'Accept' : 'application/json', 'Content-Type' : 'application/json' };
    $http.get(url).success(function(data, status, headers, config) {
      var items = data.stories;
      this.maxLimit = data.paging.count;
      for (var i = 0; i < items.length; i++) {
        if (this.items.length < this.maxLimit) {
          this.items.push(items[i]);
        }
      }

      this.page = parseInt(this.items.length / this.perPage) + 1;

      var currentMyWorks = this;
      var theIntervalId = setInterval(function() {
        if (currentMyWorks.busy == false) {
          activateGear();
          clearInterval(theIntervalId);
        }
      }, 300);
      this.busy = false;