在我的service.js中,我包含了一个需要调用函数的过滤器。但是,所述函数声明在我的过滤器声明之下(仍在我的service.js中)。以下是我的过滤器片段:
angular
.module('app.inquiry')
.factory('InquiryService', InquiryService)
.filter("getCode", function(){
return function(item) {
searchProduct(item.name).then(function(result) {
item.reference.local = result;
return item.reference.local;
})
}
});
在我的function InquiryService
内是另一个名为searchProduct
的函数,我在我的过滤器中使用的函数。但是,这不起作用。是否可以从过滤器内的服务中调用方法?如果是这样,我该如何引用要调用的方法?
谢谢!
答案 0 :(得分:0)
是否可以从过滤器内的服务中调用方法?
是的,是的。您应该在您的过滤器中注入您的factory
,如下所示:
.filter("getCode", function(InquiryService) {
然后,您可以从factory
调用此方法:
.filter("getCode", function(InquiryService) {
return function(item) {
InquiryService.searchProduct(item.name).then(function(result) {
item.reference.local = result;
return item.reference.local;
})
}
});