Я могу лениво загружать углы с помощью requirejs. Но как я могу загружать модули, которые должны быть связаны с контроллером?Загрузка внешних модулей при ленивой загрузке в угловом
Мой пример конфигурации в app.js выглядит следующим образом, загружая всех поставщиков и сохраняя ссылку.
var app = angular.module('myApp', ['ui.router'])
var cacheProviders = {};
app.getProvider = function() {
return cacheProviders.$provide;
}
app.getCompileProvider = function() {
return cacheProviders.$compileProvider;
}
app.getControllerProvider = function() {
return cacheProviders.$controllerProvider;
}
app.getFilterProvider = function() {
return cacheProviders.$filterProvider;
}
app.config(['$stateProvider', '$urlRouterProvider', '$controllerProvider', '$compileProvider', '$filterProvider', '$provide',
function ($stateProvider, $urlRouterProvider, $controllerProvider, $compileProvider, $filterProvider, $provide) {
(function() {
cacheProviders.$controllerProvider = $controllerProvider;
cacheProviders.$compileProvider = $compileProvider;
cacheProviders.$filterProvider = $filterProvider;
cacheProviders.$provide = $provide;
})();
var lazyCtrlLoad = function (controllerName) {
return ["$q", function ($q) {
var deferred = $q.defer();
require([controllerName], function() {
deferred.resolve();
});
return deferred.promise;
}];
}
$stateProvider.state('main.view2b', {
url: '/view2b',
templateUrl: 'forms/empl/searchEmplForm.html',
controllerAs: 'srchC',
controller: 'searchEmplCtrl',
resolve: {
loadOtherCtrl: lazyCtrlLoad('searchEmplCtrl')
}
})
В моем другом модуле, я пытаюсь зарегистрировать контроллеры, услуги нагрузки ..
define([
'angular', 'angularResource'
], function (angular) {
angular.module('myApp')
.getControllerProvider()
.register(ctrl, ...)
Но, во время загрузки службы ниже, мне нужен доступ к $ ресурс, который является частью модуля ngResource в angularResource.
angular.module('myApp')
.getProvider().service('deptService', ['$resource', function ($resource) {
return $resource('/dept/:dept', {dept: '@_dept'});
}])
Как я могу загрузить ngResource пока initalizing на JavaScript контроллеры/услуги лениво?