Angular 正在使用过滤器注入
Angular Filter injection in service
我在同一个模块中有一个过滤器和一个服务:
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];
}
}
}
要注入过滤器,您必须将单词 Filter
添加到过滤器的名称中。因此,如果您的过滤器名为 etatTransfertEnumToStringFilter
,您将使用 etatTransfertEnumToStringFilterFilter
.
注入它
我在同一个模块中有一个过滤器和一个服务:
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];
}
}
}
要注入过滤器,您必须将单词 Filter
添加到过滤器的名称中。因此,如果您的过滤器名为 etatTransfertEnumToStringFilter
,您将使用 etatTransfertEnumToStringFilterFilter
.