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

Angular - Creating a new module dynamically, and injecting it into main app's dependencies?

本文关键字:应用程序 注入 关系 依赖 创建 动态 一个 新模块 Angular- 模块      更新时间:2023-09-26

所以我希望在我的angular应用程序中进行一些懒惰的加载——我想下拉所有需要呈现的登录页,然后再下拉其余的。

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

var myApp = angular.module('myApp', []);
// then, after 1st page render:
var myModule = angular.module('myApp.subModule', []);

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

谢谢!-Daniel

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

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

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

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