我需要得到被拯救了我在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 –