Angularjs 在运行时加载角度模块(带/不带ocLazyLoad)

Angularjs 在运行时加载角度模块(带/不带ocLazyLoad),angularjs,dependency-injection,oclazyload,angular-module,Angularjs,Dependency Injection,Oclazyload,Angular Module,我有几个模块,我正试图根据一些条件在运行时加载它们。目前,我正在使用该模块,但我是加载的模块的不工作。一切加载正常,没有抛出错误 我首先声明我的主模块 var app = angular.module('myApp',['oc.lazyLoad']) app.config(['$ocLazyLoadProvider',function(){ modules : [{ name : 'mod1', files : [CDN-Path] }] }]);

我有几个模块,我正试图根据一些条件在运行时加载它们。目前,我正在使用该模块,但我是加载的模块的不工作。一切加载正常,没有抛出错误

我首先声明我的主模块

var app = angular.module('myApp',['oc.lazyLoad'])

app.config(['$ocLazyLoadProvider',function(){
    modules : [{
       name : 'mod1',
       files : [CDN-Path]
     }]
}]);
然后在我的控制器的某个地方

app.controller('c',function($ocLazyLoad){

     $ocLazyLoad.load('mod1').then(function(){
           console.log('module loaded!');
     });
})

在解决的承诺中,我真正做的是向ui路由器注册一个新状态,在该状态中,我使用
mod1
中定义的一些指令,但它们根本不起作用。模块加载后是否必须执行进一步的初始化?

在查看之前,您可以延迟加载任何模块/指令/控制器/javascript(也可以是jquery):

angular.module('app', ['ui.router', 'oc.lazyLoad']).config(['$stateProvider', '$ocLazyLoadProvider', function ($stateProvider, $ocLazyLoadProvider) {
        $ocLazyLoadProvider.config({
            modules : [{
                    name : 'TestModule',
                    files : ['js/TestModule.js', 'js/AppCtrl.js']
                }
            ]
        });

        $stateProvider.state('index', {
            url : "/", // root route
            views : {
                "lazyLoadView" : {
                    controller : 'AppCtrl', // This view will use AppCtrl loaded below in the resolve
                    templateUrl : 'partials/main.html'
                }
            },
            resolve : { // Any property in resolve should return a promise and is executed before the view is loaded
                loadMyCtrl : ['$ocLazyLoad', function ($ocLazyLoad) {
                        // you can lazy load files for an existing module
                        return $ocLazyLoad.load('TestModule');
                    }
                ]
            }
        });
    }
]);


使用
控制器
ui引导
延迟加载编辑Plunker示例:

我已经读过这篇文章,但这里的问题不是模块没有加载。它们加载并注册,我可以执行
angular.module('mod1')
并检索它,问题是它们没有作为当前模块的依赖项添加。为了能够从新注册的模块中添加实现功能的新元素(如指令),我只是尝试了一下,以防我可能遗漏了什么,它以同样的方式响应我有一个plunker示例,希望它能有所帮助:)