Javascript AngularJS:有没有办法知道另一个指令中包含的指令何时被加载?

Javascript AngularJS:有没有办法知道另一个指令中包含的指令何时被加载?,javascript,jquery,angularjs,angularjs-directive,Javascript,Jquery,Angularjs,Angularjs Directive,我有一个包含其他指令列表的指令。在每个子指令中,它们可以有任意数量的.itemHTML元素。在parent指令内部,我想使用jQuery引用所有这些.item元素。因此,我尝试了以下方法: HTML结构 <parent> <div class='item'></div> <ul> <li ng-repeat='child in children'> <!-- loads template that m

我有一个包含其他指令列表的指令。在每个子指令中,它们可以有任意数量的
.item
HTML元素。在parent指令内部,我想使用jQuery引用所有这些
.item
元素。因此,我尝试了以下方法:

HTML结构

<parent>
  <div class='item'></div>
  <ul>
    <li ng-repeat='child in children'>
       <!-- loads template that may have one or more divs with .item on them -->
       <child='child' /> 
    </li>
  </ul>
</parent>


在父函数
link()
中调用
$(“.item”).size()
。在这种情况下,它总是返回1。是否有一种方法可以在加载所有子指令后调用函数,这样我就可以访问所有的内部.item元素?

我想,这是因为在内部指令运行之前查询DOM太早了。 尝试:

或者,
$timeout
如果您需要在timeout回调函数中执行与作用域相关的操作

您也可以尝试:

但是如果没有代码示例,很难判断哪一个可以工作。 您可以在此处阅读有关
setTimeout
$evalAsync
差异的更多信息:

setTimeout(function(){
   $(".item").size();
}, 0);
scope.$evalAsync(function(){
  $(".item").size();
});