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

Posted

技术标签:

【中文标题】在 angularjs 生命周期的哪个阶段完全加载了 DOM【英文标题】:At what stage in the angularjs lifecycle is the DOM completely loaded 【发布时间】:2014-02-17 05:25:13 【问题描述】:

我正在尝试围绕 angularjs 模块包装原生 javascript 功能,我需要在 DOMloaded 事件处理程序上引导一些代码。

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

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

在所有服务都配置好并创建注入器后执行。

关于DOMLoaded事件,此时是否已经被触发了?

有人知道吗?

【问题讨论】:

【参考方案1】:

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

你要么必须在下面的事件中编写你的逻辑

angular.module('myApp', []).run(function($rootScope) 
   $rootScope.$on('$viewContentLoaded', function() 
      // here
   );
);

或者你最好根据你要实现的目标编写一个自定义指令。

【讨论】:

以上是关于在 angularjs 生命周期的哪个阶段完全加载了 DOM的主要内容,如果未能解决你的问题,请参考以下文章

Android生命周期绑定

Vue中的computed是在生命周期的哪个阶段执行的?

State 生命周期-笔记

Servlet生命周期

Servlet生命周期

android 清单文件有啥作用? widget相对位置的完成在activity的哪个生命周期阶段实现?