【问题标题】:How should I inject into provider?我应该如何注入提供者?
【发布时间】:2014-02-04 01:45:52
【问题描述】:

我正在尝试将服务/提供者注入到我的提供者中,但似乎我不能以与工厂或服务相同的方式做到这一点?请告诉我我做错了什么,我知道这很简单,可能只是一个愚蠢的错误,但我找不到

Plnkr:http://plnkr.co/edit/B1XGDZNOpiIJVE4q3zMP?p=preview

未捕获的错误:[$injector:modulerr] 无法实例化模块 myApp,原因如下: 错误:[$injector:unpr] 未知提供者:$window

【问题讨论】:

    标签: angularjs


    【解决方案1】:

    正如@Michael 所提到的,您不能以这种方式将依赖项注入提供程序。您可以在 get 方法中提供您的依赖项

    this.$get =['$window', 'alert', function (window, alert){
    }];
    

    【讨论】:

    • 非常感谢您的帮助 Chandermani,现在可以正常工作了。
    【解决方案2】:

    你不能这样做。提供者将在配置阶段注册。在这个阶段,服务还不能用于注入。请参阅http://docs.angularjs.org/guide/module - 模块加载和依赖项

    也结帐http://docs.angularjs.org/guide/providers。在那里,您将看到配置阶段可用的内容。

    【讨论】:

    • 嗨@Mchael,所以在我的情况下,我应该回到使用工厂来代替吗?或者我可以以某种方式注入 $get 函数吗?
    • 非常感谢您的帮助迈克尔,它有效。
    猜你喜欢
    • 2015-11-11
    • 2014-01-19
    • 1970-01-01
    • 2022-10-05
    • 1970-01-01
    • 2016-11-21
    • 2021-04-23
    • 2016-02-18
    • 1970-01-01
    相关资源
    最近更新 更多