AngularJS -> 捕获指令中DOM元素渲染完成的时间

4
我们正在使用AngularJS通过ng-repeat渲染一个时间表。同时,我需要调用一个初始化函数来作用于Angular代码所渲染的DOM对象上的jQuery插件。
然而,我不知道如何在DOM对象创建后才调用初始化函数,因为该插件要求在初始化之前必须先构建DOM元素。
那么,我该怎么做呢?
1个回答

4

可以使用 $timeout,直到元素存在才会运行

app.directive('makeMeGreen',function($timeout){
  return{
    restrict:'A',
    link:function(scope,elem,attrs){
       $timeout(function(){
         elem.makeMeGreen();
       },0)
  }
  } 
});

演示

另一种方法是使用 $observe 属性。


我快速制作的超级简单插件...请查看演示 - charlietfl
它不起作用。我无法创建一个演示版。问题是我只想在所有DOM对象创建完成后运行一个函数,而不是在每个对象创建完成时运行。 - MB34
尝试这个版本.. http://plnkr.co/edit/tvLPwnBueNIhU3zIwCH0?p=preview。检查重复器中的最后一个元素,然后将其附加到父级。 - charlietfl
请提供关于插件和您的应用程序的更多详细信息。没有更多的细节,就很难提供帮助。 - charlietfl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接