Я установил приложение angularjs с помощью ui-router и пытаюсь лениво загрузить зависимости, но получаю ошибку «$ controller: ctrlreg».
Я попытался ответить на вопрос @kasper Lewau по ссылке Использование пользовательского интерфейса-router и ocLazyLoad, чтобы загрузить контроллер и установить частичное значение для него
, но не может работать.Я на AngularJS v1.7.8, ui-router v1.0.22, ocLazyLoad v1.0.10.
**--app file.--**
(function () {
'use strict';
angular.module('medapp', [
'ui.router',
'oc.lazyLoad'
])
})();
****--app route file--****
(function () {
'use strict';
angular.module('medapp').config(config)
config.$inject = ['$stateProvider', '$urlRouterProvider', '$locationProvider', '$urlMatcherFactoryProvider', '$ocLazyLoadProvider'];
function config($stateProvider, $urlRouterProvider, $locationProvider, $urlMatcherFactoryProvider, $ocLazyLoadProvider) {
$urlMatcherFactoryProvider.caseInsensitive('true');
$locationProvider.hashPrefix('');
$urlRouterProvider.otherwise('/');
$stateProvider
.state('home', {
url: '/',
views: {
'header': {
templateUrl: '/sag/app/template/header/header.html',
resolve: {
load: ['$ocLazyLoad', function ($ocLazyLoad) {
return $ocLazyLoad.load({
serie: true,
files: [
'/sag/app/template/header/header.app.js',
'/sag/app/template/header/header.routes.js',
"/sag/app/template/header/header.controller.js",
]
});
}]
},
controller: 'HeaderController',
controllerAs: 'hdr',
},
}
})
}
})();
**--header app file--**
(function () {
'use strict';
angular
.module('uiTemplate.header', [])
})();
**--header controller--**
(function () {
'use strict';
angular.module('uiTemplate.header')
.controller('HeaderController', HeaderController);
HeaderController.$inject = ['$log', '$scope'];
function HeaderController($log, $scope) {
var hdr = this;
}
})();
Ошибка: $ controller: ctrlreg Контроллер с таким именем не зарегистрирован.Контроллер с именем 'HeaderController' не зарегистрирован.