我有一个应用程序,决定它是否需要应用程序运行块内的一组特定模块。 (删除了所有不必要的逻辑)
angular.module('myApp', []).run(function () {
if (true) {
//needs to have modules injected into myApp
}
});
在我的角度应用启动后,如何将模块添加到myApp?
一旦动态注入模块,我如何在我的应用程序的其他位置使用注入模块的服务,如控制器和指令?
angular.module('myApp').controller(function ($scope, myService) { //where myService belongs to a dynamically added module
myService.doStuff(); //this would give me an error if the module wasn't injected
});
我知道可以只使用Inline Array Annotation添加所有模块,然后在我的控制器内部检查myService是否存在。但我正在尝试以正确的方式执行此操作,而不是检查我的服务,考虑我的整个代码库。
我感谢任何帮助!
答案 0 :(得分:0)
您可以在确定需要之后显式引导应用程序模块。
var modulesToInject = ["myDep1"];
// push more modules here as needed
angular.module("myApp", modulesToInject);
angular.bootstrap(document,["myApp"]);