AngularJS Provider依赖注入 - 在提供程序中使用$ http?

时间:2014-03-08 12:54:56

标签: angularjs dependency-injection

TL;博士

我真的很难在这里找到合适的模式。我应该如何最好地将通用提供程序配置为特定用例?我无法在$http中使用.configure();作为依赖关系吗?

更长,更无聊的解释:

我正在尝试创建一个可以在Angular中重用的通用提供程序。我有它工作,但它需要配置。

目的是提供一个后备REST服务,用于将数据保存到服务器,但是可以在本地存储中脱机保存。因此,我需要为此提供程序的每个实例提供适当的$http调用。

是否可以使用$http提供适当的.configure()调用,否则我应该尝试从一开始就弄清楚如何将$http注入提供程序,然后再配置它?

1 个答案:

答案 0 :(得分:0)

令人沮丧......并且可能会在AngularJS 2.0中发生变化......但是现在,是的,这是不可能做到的。 .configure().run()州之间的隔离墙非常高,因此您无法从$http功能访问.configure()。原因是它实际上并没有被创建。在这个阶段,所有存在的都是提供者。配置完所有依赖项后,http提供程序将用于生成真正的$http服务。

我不确定完全你想要做什么,但有两个优秀的AngularJS开发人员,他们在他们共享的项目中有一些高级模式:Pascal Precht和Brian Ford。以下是两个大量使用提供者/服务概念以及$ http驱动服务的项目:

Angular Modal,尤其是$ http可以加载其模板。可能存在与您尝试的类似的用例。