我在同一模块中有一个过滤器和一个服务:
app.filter( "etatTransfertEnumToStringFilter", [Filters.EtatTransfertEnumToStringFilter] );
app.service( "notificationService",
["$rootScope",
// others dependencies
"etatTransfertEnumToStringFilter",
Services.NotificationService] );
过滤器运行良好,我可以从 View 中调用他,但是当我将其注入(inject)到我的服务中时(就像我上面所做的那样),我得到一个 Error: $injector:unpr Unknown Provider: etatTransfertEnumToStringFilterProvider <- etatTransfertEnumToStringFilter <- notificationService
.
我问自己过滤器是否已正确加载到注入(inject)器中,因此我列出了加载的所有 Controller 、服务和过滤器:
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];
}
}
}
最佳答案
要注入(inject)过滤器,您必须将单词 Filter
添加到过滤器的名称中。因此,如果您的过滤器名为 etatTransfertEnumToStringFilter
,您将使用 etatTransfertEnumToStringFilterFilter
注入(inject)它。
关于javascript - Angular 过滤器注入(inject)投入使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29680016/