在 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的主要内容,如果未能解决你的问题,请参考以下文章