在angularjs生命周期的哪个阶段,DOM完全加载

时间:2014-01-26 11:29:47

标签: javascript angularjs javascript-events single-page-application

我正在尝试围绕angularjs模块包装本机JavaScript功能,我需要在DOMloaded事件处理程序上提升一些代码

document.addEventListener("DOMContentLoaded",function(){
    //bootstrapper code
})

如果在角度域中需要这样做我有点困惑,或者我可能只是重复已经被angular调用的东西,我可以简单地将我的代码附加到。如果我将引导程序代码放在模块的运行块中,它是否会达到相同的效果,文档说

  

在配置完所有服务并创建注射器后执行。

关于DOMLoaded事件,此时它已被解雇了吗?

有人对此有所了解吗?

1 个答案:

答案 0 :(得分:1)

angular.module('myApp', []).run(function($rootScope) { });与jQuery中的$(document).load(function() {});类似,但如果使用XHR呈现页面的一部分,那么run()方法将没有用处。

您必须在事件

下面写下您的逻辑
angular.module('myApp', []).run(function($rootScope) {
   $rootScope.$on('$viewContentLoaded', function() {
      // here
   });
});

或者你最好根据你必须达到的目标来编写自定义指令。