我在同一个模块中有一个过滤器和一个服务:
app.filter( "etatTransfertEnumToStringFilter", [Filters.EtatTransfertEnumToStringFilter] );
app.service( "notificationService",
["$rootScope",
// others dependencies
"etatTransfertEnumToStringFilter",
Services.NotificationService] );
过滤器运行良好,我可以从视图中调用他,但当我将其注入我的服务时(就像我上面所做的那样),我得到了Error: $injector:unpr Unknown Provider: etatTransfertEnumToStringFilterProvider <- etatTransfertEnumToStringFilter <- notificationService
。
我问自己过滤器是否在进样器中装好了,所以我列出了所有加载的控制器,服务和过滤器:
app._invokeQueue.forEach(function (x) {console.log(x[2][0]);});
我可以在列表中看到etatTransfertEnumToStringFilter
,因此我无法了解正在发生的事情。
一个想法?
编辑:我的过滤器很简单:
module Filters {
"use strict";
export function EtatTransfertEnumToStringFilter() {
return ( input: Metier.Model.EtatTransfertEnum ) => {
return Metier.Model.EtatTransfertEnum[input];
}
}
}
答案 0 :(得分:1)
要注入过滤器,您必须将单词Filter
添加到过滤器的名称。因此,如果您的过滤器名为etatTransfertEnumToStringFilter
,则可以使用etatTransfertEnumToStringFilterFilter
注入它。