2012-10-03 93 views
1

我正在开发一个应用程序,我们需要动态加载(不要问)angular.js和我们的js文件(directives.js,controllers .js等)。我将<script>标签插入到angular和我们的js文件的DOM中,并发现当您这样做时,脚本文件将异步加载。由于更大的angular.js文件尚未返回,因此我得到的关于angular的错误未被定义。我可以检查以确保角度已完成加载并可以使用

有没有人知道角加载并准备好使用?我的第一个想法是看看angular是否被定义,如typeof angular != 'undefined'。然而,我的担心是角度将被定义,但尚未完全设置,我会遇到其他错误。这是否足以启动添加模块并使用angular对象?或者我可以检查确定它已完成设置的对象本身有什么东西?作为一个便笺,我将手动引导应用程序,因此检查引导后设置的内容对我而言不起作用。任何帮助,将不胜感激。谢谢。

回答

1

如果你使用jQuery,你可以加载链的各种外部脚本文件:

$.getScript('js/angular.js', function() { 
    $.getScript('js/controllers.js', function() { 
     $.getScript('js/next.js', function() { 
      // [...] 
     }); 
    }); 
}); 

更多信息:http://api.jquery.com/jQuery.getScript/

课程的潜在缺点是,如果一个脚本加载失败(阿贾克斯问题,高服务器负载,无论如何),成功回调不会被触发,后续的脚本将不会被加载。

+0

我不知道getScript()方法。这适用于我所需要的。谢谢! – dnc253

相关问题