angularjs 动态加载JS问题

关于angularjs动态加载JS后之后,出现无法找到控制器的情况;

var sdApp = angular.module("sdApp", ["ngRoute", "oc.lazyLoad"]);

sdApp.config(function($routeProvider){
    var list = ["company/company", "test"];
    function href(b){
        var data = {
            resolve: {
                load: function($q, $ocLazyLoad){
                    var deferred = $q.defer();
                    var load = function(){
                        $ocLazyLoad.load("/theme/default/dist/scripts/"+b+".js");
                        deferred.resolve();
                    };
                    load();
                    return deferred.promise;
                }
            },
            controller: "companyCtrl",
            templateUrl: "/theme/default/dist/views/"+b+".html"
        };
        return $routeProvider.when("/"+b, data);
    };
    list.forEach(function(b){
        return href(b);
    });
});

Error: [ng:areq] http://errors.angularjs.org/1.5.7/ng/areq?p0=companyCtrl&p1=not%20aNaNunction%2C%20got%20undefined

请问有什么办法可以解决这种情况?

阅读 4.2k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进