/ / niemożność zainicjowania błędu ocLazyLoad przy uwzględnieniu zależności w module lazyloaded - angularjs, lazy-loading, oclazyload

nie można zainicjować błędu ocLazyLoad, włączając w to zależność wewnątrz modułu lazyloaded - angularjs, lazy-loading, oclazyload

Próbuję stopniowo ładować moduły. Zrobiłem plik „lazyModule.js” i ładuję ten moduł za pomocą oclazyLoad. Kiedy definiuję zależność myModule.js w tym lazyModule.js, generuje następujący błąd na konsoli:

Nie znaleziono modułu podczas bootstrapu, nie można zainicjować ocLazyLoad. Zawsze powinieneś używać dyrektywy ng-app lub angular.boostrap użyj ocLazyLoad.

lazyModule.js

define([
"angular",
"components/infrastructure/myModule"
], function(angular) {
"use strict";
return angular.module("lazyModule",
[
"myModule"
]);
});

myModule.js

define([
"angular",
"ui-bootstrap",
"ocLazyLoad"
], function initModule(angular) {
"use strict";

angular.module("html.myModule", [   "oc.lazyLoad"]);
});

Tak się leniwie ładuję lazyModule.js:

initializeLazyModule: function(scope) {
var template;
try{
// checking for existing module
angular.module("lazyModule");
isLoaded=true;
}catch(err) {
isLoaded=false;
}
if (!isLoaded) {
return require(["apps/controlCenter/lazyModule"], function() {
$ocLazyLoad.inject("lazyModule");
ControlCenterUtilities.checkAndApplyScope(scope);
$compile($("#my-module"))(scope);

});
}

else {
return;
}
}

Chociaż po usunięciu zależności dla modułu oc.lazyLoad z myModule.js błąd konsoli zniknie.

Ale nie mam opcji, aby usunąć oc.Zależność modułu lazyload od myModule, ponieważ zepsuje się dla jakiegoś innego komponentu, który bezpośrednio zużywa mój moduł, bez wcześniejszego załadowania oclazyload.

Zasadniczo dzieje się tak, ponieważ moduł oc.lazyload jest wstrzykiwany dwukrotnie. Proszę pomóż

Odpowiedzi:

0 dla odpowiedzi № 1

Znalazłem rozwiązanie tego.

oc.lazyLoad nie powinien być uwzględniany w zależności kątowej tworzenia nowego modułu kątowego, jeśli oc.lazyLoad jest już załadowany przez moduł kątowy bootstrap. oc.lazyLoad próbuje zainicjować się za każdym razem, gdy jest uwzględniony w zależności nowego modułu.

lazyModule.js

   define([
"angular",
"components/infrastructure/myModule"
], function(angular) {
"use strict";
var dependentModules = [
try {
angular.module("oc.lazyLoad");
} catch (moduleError) {
dependentModules.push("oc.lazyLoad");
}
return angular.module("lazyModule", dependentModules);
});