ocLazyLoad и angular.bootstrap

Я хочу добавить ocLazyLoad на свой веб-сайт среднего стека. Вот код:

    .state('kpi', {
        url:'/kpi',
        templateUrl: '/htmls/kpi.html',
        resolve: {
            loadMyCtrl: ['$ocLazyLoad', function ($ocLazyLoad) {
                return $ocLazyLoad.load('/javascripts/kpi-controller.js').then(function () {
                    console.log("done");
                }, function (e) {
                    console.log("error")
                })
            }]
        }}

Загрузка страницы kpi возвращает

bootstrapped
kpi-controller inside
done
Error: [ng:areq] http://errors.angularjs.org/1.5.8/ng/areq?p0=KpiCtrl&p1=not%20aNaNunction%2C%20got%20undefined

где ошибка около Error: ng:areq Bad Argument Argument 'KpiCtrl' is not a.

KpiCtrl определено в kpi-controller.js, и печать kpi-controller inside в консоли показывает, что файл действительно был загружен. Но почему KpiCtrl до сих пор не распознан?

Особенность моего кода в том, что в начале программы я

jQuery(document).ready(function () {
    angular.bootstrap(document, ['myweb'])
    console.log("bootstrapped");
})
app = angular.module('myweb', ['ui.router', 'oc.lazyLoad']);

Я плохо понял angular.bootstrap, но кажется, что новый загруженный KpiCtrl должен быть загружен, чтобы быть распознанным. Я попытался добавить angular.bootstrap(document, ['myweb']) внутрь ocLazyLoad, но получилось App already bootstrapped with this element 'document'.

Кто-нибудь знает, как это решить?


person SoftTimur    schedule 17.12.2017    source источник
comment
«NaNunction» — распространенная проблема. Это не говорит о том, что контроллер не распознан. Он говорит, что аргумент неверен. Вопрос не содержит всего необходимого кода. Подумайте о том, чтобы предоставить способ воспроизвести проблему.   -  person Estus Flask    schedule 17.12.2017
comment
Возможный дубликат stackoverflow.com/questions/26834857 /   -  person Estus Flask    schedule 17.12.2017
comment
Я вижу из комментария поставленного вами вопроса: для справки, эта ошибка просто означает, что angular не может найти контроллер по той или иной причине. - Планки   -  person SoftTimur    schedule 17.12.2017
comment
Комментарии не всегда корректны. Этот точно нет. Ошибка могла появиться по вине ocLazyLoad, но причина неизвестна.   -  person Estus Flask    schedule 17.12.2017