首页 > 解决方案 > 具有名称的控制器未在带有lazyLoad的ui-router中注册错误

问题描述

我正在尝试按如下方式实现延迟加载,但它会引发以下错误:

[$controller:ctrlreg] 名为“BannerSettingsController”的控制器未注册。

这是我的代码:

.state('banner_settings', {
    url: '/banner_settings',
    views: {
        'header': { templateProvider: function($http, $stateParams, GetHeader) {
            return GetHeader.get().then(function(obj){
                   return $http.get(obj.templateName).then(function(tpl){
                          return tpl.data;
                   });      
                });
              }
        },
        'content': { 
                    templateUrl: "partials/banner_settings.html",
                    controller  : 'BannerSettingsController'
                },
        'footerCopyright': { templateUrl: 'partials/after_login/copyright.html' },
        'sidebar': { templateProvider: function($http, $stateParams, GetSidebar) {
            return GetSidebar.get().then(function(obj){
                   return $http.get(obj.templateName).then(function(tpl){
                          return tpl.data;
                   });      
                });
            }
        }
    },
    resolve: {
       loadMyFiles: function($ocLazyLoad) {
            return $ocLazyLoad.load({
                files: [
                    "app/controllers/BannerSettingsController.js"
                ]
            });
       }
    }

})

标签: javascriptangularjs

解决方案


推荐阅读