AngularJS模块注入器

时间:2015-05-06 05:07:07

标签: angularjs module

我是AngularJs的新人,请求帮助:

假设: 首先,有两个模块定义如下:

angular.module("module1", [])....;
angular.module("module2", [])....;

现在,正常情况下,我们将定义主要模块" MainModule"这取决于module1,module2,如下所示:

angular.module("MainModule", **["module1", "module2"]**)....;

我的问题是依赖关系是否可以被声明为惰性,如下所示:

var mainModule = angular.module("MainModule", **[]**)....
......
**mainModule.injector(["module1", "module2"]);**

1 个答案:

答案 0 :(得分:0)

以下代码将帮助您进行延迟声明:



var ApplicationConfiguration = (function() {

    var applicationModuleName = 'mainModule';
    var applicationModuleVendorDependencies = [];

    var registerModule = function(moduleName, dependencies) {
        angular.module(moduleName, dependencies || []);
        angular.module(applicationModuleName).requires.push(moduleName);
    };

    return {
        applicationModuleName: applicationModuleName,
        applicationModuleVendorDependencies: applicationModuleVendorDependencies,
        registerModule: registerModule
    };
})();
angular.module(ApplicationConfiguration.applicationModuleName,ApplicationConfiguration.applicationModuleVendorDependencies);

ApplicationConfiguration.registerModule('module1',[]);
angular.module('module1',[]);

ApplicationConfiguration.registerModule('module2',[]);
angular.module('module2',[]);