Как исправить ошибку: «$ controller: ctrlreg» при отложенной загрузке зависимостей при изменении состояния - PullRequest
0 голосов
/ 23 июня 2019

Я установил приложение 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' не зарегистрирован.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...