在this post @ yair-tavor中发布了与他的SOAP拦截器模块相关的片段。不幸的是,没有明确而明显的例子来获取创建的“myModule”对象的实例。我已经从该帖子中提供的Fiddle下载了Yair的代码,并将其包含在我正在开发的HTML网页中。对AngularJS世界来说是全新的(并且每分钟学习更多!)我想问一下如何获得该模块/服务的本地实例。
我看到Yair的代码包括:
/**
* To be used by angular, this method retrieves new
* {{#crossLink "rtv.data.soap-interceptor"}}{{/crossLink}} instance.
* @method $get
* @returns {SoapInterceptor}
* @for myModule.soap-interceptorProvider
*/
providerInstance.$get = function(){
return new SoapInterceptor();
};
}]);
我已将这篇非常有用的SO帖子加入书签,以便进行一些详细的审核,明天: AngularJS: Service vs provider vs factory
所以,我尝试使用以下语法来获取实例,但它似乎返回一个充满空对象的模块,而不是我正在加载的思想模块。 :(尝试使用此模块调用soap.setWSDL返回“TypeError:undefined不是函数”。
var soapModule = angular.module('myModule.soap-interceptor', [] );
soapModule: {
_invokeQueue:
[ ]
_runBlocks:
[ ]
requires:
[ ]
name: soapModule.soap-interceptor
provider: null
factory: null
service: null
value: null
constant: null
animation: null
filter: null
controller: null
directive: null
config: null
run: null
}
没有第二个参数也不会调用它,它返回一个错误,说明模块不可用。
var soapModule = angular.module('myModule.soap-interceptor');
Error: [$injector:nomod] Module 'myModule.soap-interceptor' is not available!
You either misspelled the module name or forgot to load it. If registering a
module ensure that you specify the dependencies as the second argument.
那么,我究竟应该如何加载和挂钩Yair的soap-interceptor模块呢?我需要一个有效的非null实例,以便成功执行加载WSDL内容的“setWSDL”方法。