我正在尝试围绕angularjs模块包装本机JavaScript功能,我需要在DOMloaded事件处理程序上提升一些代码
document.addEventListener("DOMContentLoaded",function(){
//bootstrapper code
})
如果在角度域中需要这样做我有点困惑,或者我可能只是重复已经被angular调用的东西,我可以简单地将我的代码附加到。如果我将引导程序代码放在模块的运行块中,它是否会达到相同的效果,文档说
在配置完所有服务并创建注射器后执行。
关于DOMLoaded事件,此时它已被解雇了吗?
有人对此有所了解吗?
答案 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
});
});
或者你最好根据你必须达到的目标来编写自定义指令。