javascript - Angular 过滤器注入(inject)投入使用

标签 javascript angularjs typescript

我在同一模块中有一个过滤器和一个服务:

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/

相关文章:

angular - 如何解码 x509 证书以获取到期日期?

javascript - 在 html 文件中包含 URL 的内容

javascript - 在html5中,我可以强制浏览器下载我正在使用的音频文件吗?

javascript - AJAX BitMovin - GET 请求不起作用

javascript - angularjs中的工具提示问题

javascript - 等待 Protractor 与页面 : "angular could not be found on the window" on running protractor test case 同步时出错

javascript - Google Places API 请求出错

javascript - Angularjs 阻止页面加载并在点击时显示值

typescript - 如何在 Angular2 中输入 routeParams?

javascript - 如何在 React Native 中管理用户 session ?