Angular Bootstrap后加载模块

Jac*_*ter 5 lazy-loading angularjs angularjs-module angularjs-injector

我试图在app bootstrap之后加载并注入一个模块.例如,假设我的初始模块是:

angular.module('mainApp', []);
Run Code Online (Sandbox Code Playgroud)

后来我意识到用户需要所有可用的路由secondaryApp来打开它们.所以现在我需要我的模块看起来像这样:

angular.module('mainApp', ['secondaryApp']);
Run Code Online (Sandbox Code Playgroud)

我成功地lazyLoading secondaryApp js文件,但我无法将其添加到mainApp.我已经尝试将它添加到requires数组,即

var app = angular.module('mainApp');
app.requires[app.requires.length] = 'secondaryApp';
Run Code Online (Sandbox Code Playgroud)

这会将模块名称添加到requires数组,但mainApp仍然无法访问提供的路由/状态secondaryApp.

有没有人有什么建议?我已经被困在这一段了一段时间了.

谢谢!

Tom*_*Mac 0

需要明确的是,您不能定义angular.module('mainApp', []);多次。

每次您像这样声明一个具有依赖项的模块时,它都会覆盖先前的声明。