我需要得到被拯救了我在app.js控制器上的道理,所以我創建了一個服務注射服務爲一體的供應商
var app = angular.module('UnikaPage', ['LocalStorageModule','RutasModule','UploadModule']);
app.service('AuthService', function() {
var kc = {};
var setKeycloak = function(keycloak) {
kc = keycloak;
};
var getKeycloak = function(){
return kc;
};
return {
setKeycloak: setKeycloak,
getKeycloak: getKeycloak
};
});
我的其他模塊UploadModule
var upload = angular.module('UploadModule', [ 'ngResource','flow','UnikaPage' ]).config(
[ 'flowFactoryProvider', 'AuthService', function(flowFactoryProvider,AuthService) {
AuthService.getKeycloak();
flowFactoryProvider.defaults = {
target : '/ng-flow-java/upload',
permanentErrors : [ 500, 501 ],
maxChunkRetries : 1,
chunkRetryInterval : 5000,
simultaneousUploads : 4,
progressCallbacksInterval : 1,
withCredentials : true,
method : "octet"
};
flowFactoryProvider.on('catchAll', function(event) {
console.log('catchAll', arguments);
});
// Can be used with different implementations of Flow.js
// flowFactoryProvider.factory = fustyFlowFactory;
} ]);
但我得到的AuthService是未定義的,我嘗試不加載UploadModule在UnikaPage中,我沒有得到錯誤,但我的UploadModule不會加載。
我可以得到UnikaPage和UploadModule
循環依賴的問題
謝謝,問題是UploadModule使用ng-flow,並且它不使用$ http來上傳網站的部分 –
謝謝,這是個好主意,但它不起作用,我猜flow-init會被覆蓋有一點。我查看了頭文件,我甚至嘗試用token來手動添加flow-init =「{headers:.....}」,但它不起作用。也許提供者重寫flow-init。 –
嘗試刪除在config()中定義的默認值,並讓控制器定義「flowInit」。仔細查看'ngFlow'的源代碼,可以發現它們使用本地'angular.extend()',該對象內沒有遞歸遍歷。它可以是一個反饋,並且他們需要在'flow.js'的端口上修改它,因爲這些選項可以在主對象內部具有另一個級別。在這裏稍微閱讀一下:https://docs.angularjs.org/api/ng/function/angular.extend –