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.

注入它