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

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

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

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

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

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

有人知道吗?

【问题讨论】:

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


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2023-04-05
      • 2010-09-10
      • 1970-01-01
      • 2017-07-12
      • 1970-01-01
      • 1970-01-01
      • 2016-08-05
      • 1970-01-01
      • 2017-11-02
      相关资源
      最近更新 更多