我試圖逐步加載模塊。我創建了一個文件'lazyModule.js',並使用oclazyLoad加載這個模塊。當我在這個lazyModule.js定義myModule.js依賴,灑在控制檯以下錯誤:無法初始化ocLazyLoad錯誤,但在一個延遲加載的模塊中包含依賴關係
無模塊引導過程中發現,無法初始化ocLazyLoad。當您使用ocLazyLoad時,您應該始終使用ng-app指令或angular.boostrap。
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']);
});
這是怎麼了延遲加載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;
}
}
雖然,當我從myModule.js中刪除oc.lazyLoad模塊的依賴項時,控制檯錯誤消失。
但我沒有選擇從myModule中刪除oc.lazyload模塊依賴項,因爲它會中斷一些其他組件直接消耗我的模塊而不需要加載oclazyload。
它基本上是因爲oc.lazyload模塊被注入兩次而發生的。 請幫忙
我已經找到解決這個。 oc.lazyLoad不應包含在新角度模塊創建的角度依賴性中 \t \t \t如果oc.lazyLoad已通過引導角度模塊加載。 \t \t \t oc.lazyLoad嘗試初始化自己,只要它包含在新的模塊依賴項中。 lazyModule.js – jass