Я хочу добавить 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'
.
Кто-нибудь знает, как это решить?