有没有办法知道何时使用angular指令的所有元素都被编译?

时间:2014-10-15 15:01:30

标签: angularjs angularjs-directive angularjs-ng-repeat

我的问题非常简单......有没有办法知道何时使用angular指令编译所有元素?

前,我有这个HTML:

<ul data-ng-controller="DemoController">
  <li data-ng-repeat="info in data" some-directive-here>{{info.detail}}</li>
</ul>

这个脚本:

app.controller('DemoController', function ($scope) {
  $scope.data = [{detail: 'test1'}, {detail: 'test2'}, {detail: 'test3'}];
});

我想知道两件事,有什么方法可以知道角度编译上面的所有指令(我的意思是,来自文档的所有指令)?有没有办法知道什么时候所有&#34;某些指令 - 这里&#34;得到编译?

1 个答案:

答案 0 :(得分:1)

通过观看此活动,您可以确定所有内容都已完成并编译:

$scope.$watch('$viewContentLoaded', function()
        {
            console.log("Emitted every time the ngView content is reloaded.")
        });

如果你想知道一个特定的指令是否完成了所有的操作。你需要以这样一种方式实现它,即它保存它要处理的项目的长度并存储它。

一旦指令结尾处的操作是针对最后一个索引,您就可以发出自己可以监听的自定义事件。

我相信你可以根据你的some-directive-here代码自己设想实现。