Angular - 动态创建一个新模块,并将其注入主应用程序的依赖项中?

时间:2014-11-11 05:18:22

标签: javascript angularjs

所以我希望在我的角度应用程序中进行一些延迟加载 - 我想要下载渲染着陆页所需的一切,然后再拉下其余部分。

问题是,当我第一次运行应用程序时,似乎必须预先定义所有角度模块依赖项......

var myApp = angular.module('myApp', []);

// then, after 1st page render:

var myModule = angular.module('myApp.subModule', []);

我现在如何将myApp.subModule注入myApp的依赖项?

谢谢! -Daniel

1 个答案:

答案 0 :(得分:4)

您可以将ocLazyLoad用于此目的。 https://github.com/ocombe/ocLazyLoad

我理解的方式 - 在代码中包含ocLazyLoad.js。 然后,代替angular.module('app',['module1','module2'])您的代码变为angular.module('app',['oc.lazyLoad'])

然后将$ ocLazyLoad注入控制器并像$ocLazyLoad.load({name:'module1', files:['js/controllers/module1.js']},{name:'module2',files:['js/controllers/module2']})一样使用它。

您可以在github页面上查看示例。