Angular Bootstrap后加载模块

时间:2015-01-12 23:36:20

标签: angularjs lazy-loading angularjs-module angularjs-injector

我正在尝试在app bootstrap之后加载并注入一个模块。例如,让我们说我的初始模块是:

angular.module('mainApp', []);

稍后我意识到用户需要通过secondaryApp提供的所有路由才能打开它们。所以现在我需要我的模块看起来像这样:

angular.module('mainApp', ['secondaryApp']);

我成功懒惰加载了secondaryApp js文件,但我无法将其添加到mainApp。我已经尝试将它添加到requires数组,即

var app = angular.module('mainApp');
app.requires[app.requires.length] = 'secondaryApp';

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

有没有人有任何建议?我已经被困在这一段了一段时间。

谢谢!

1 个答案:

答案 0 :(得分:0)

为了清楚起见,您不能多次定义angular.module('mainApp', []);

每次声明具有依赖关系的模块时,它都会覆盖先前的声明。