2014-06-09 58 views
0

我遇到了一些特殊情况,angularjscordova。基本上我只想加载角模块devicereadycordova被激发。我的骨架有点像下面app.js:所有modules执行某些事件后加载angularjs模块

angular.module('app', [ 
'module1', 
'module2', 
'module3' 
]) 
.run(function() { 
}); 

我能为您在任何run() ready事件,但它发生之后。我不想在每个控制器中“微观”检查准备好的事件。

两个问题:

  1. 有只有一些事件的准备(deviceready专门)后一种方式来加载角模块?

  2. 奖金:有没有办法来加载module1第一,检测某些事件准备好,然后装入module2module3

回答

0

对于这两个问题都可以;可以在AngularJs上按需加载模块。

这里是一个包含有关如何加载模块进行了深入的说明以及实例项目含有实施例的源代码的链接:http://blog.getelementsbyidea.com/load-a-module-on-demand-with-angularjs/

AngularJs的源代码实际上包含了所有的模块的列表。但是,这个列表是私人的,所以不能修改。为了解决这个问题,作者仔细地模仿了AngularJs代码中的模块加载,以便稍后加载模块。

我会建议您仔细阅读文章,以便理解所有内容,然后根据自己的目的调整自己的代码。