我的Angular app结构是这样的:
App.js
angular.module('RateRequestApp',[ 'RateRequestApp.services','RateRequestApp.controllers','ui.bootstrap','angular-loading-bar','textAngular','angularFileUpload' ]);
我正在为不同的页面使用不同的HTML文件,我没有使用
Angular的$route,但我仍然希望在具有不同控制器的所有页面中使用相同的应用程序.
正如您所看到的,我正在向我的应用注入第三方模块.问题是在某些页面中我不想要一些这样的模块,如何在不需要它们的地方避开它们?
解决方法
是的你可以这样做:
var myApp = angular.module('RateRequestApp','angular-loading-bar' ]); var lazyModules = ['textAngular','angularFileUpload']; angular.forEach(lazyModules,function(dependency) { myApp.requires.push(dependency); });
在这种情况下,您可以有条件地注入模块. (但请注意,某些模块的延迟加载可能无法在需要某些配置的情况下工作.)