为了账号安全,请及时绑定邮箱和手机立即绑定

AngularJS:服务与提供商vs工厂

AngularJS:服务与提供商vs工厂

慕桂英546537 2019-05-24 15:23:42
AngularJS:服务与提供商vs工厂什么是之间的差异Service,Provider并Factory在AngularJS?
查看完整描述

4 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

所有服务都是单身人士 ; 他们每个应用程序实例化一次。它们可以是任何类型,无论是原始类型,对象文字,函数,还是自定义类型的实例。

valuefactoryserviceconstant,和provider方法都是供应商。他们教Injector如何实例化服务。

最详细,但也是最全面的是提供者食谱。在剩下的四个配方类型-价值,工厂,服务,不断- 是在运营商的配方上面只是语法糖


  • 值配方是最简单的情况下,如果你自己实例化服务,并提供实例值的注射器。

  • 工厂配方使喷油器工厂功能时,它需要实例化服务,它调用。调用时,工厂函数创建并返回服务实例。服务的依赖关系作为函数的参数注入。因此,使用此配方可添加以下功能:

    • 能够使用其他服务(具有依赖性)

    • 服务初始化

    • 延迟/延迟初始化

  • 服务的食谱几乎是一样的工厂配方,但这里的喷油器调用构造函数与新的运营商,而不是一个工厂函数。

  • 供应商的食谱通常是矫枉过正。它允许您配置工厂的创建,从而增加了一层间接。


    仅当您要为应用程序范围的配置公开API时才应使用Provider配方,该API必须在应用程序启动之前进行。这通常仅适用于可重用服务,其行为可能需要在应用程序之间略有不同。

  • 恒配方是一样的价值食谱但它允许您定义是在现有的服务配置阶段。比使用Value配方创建的服务早。与值不同,它们不能使用decorator

请参阅提供商文档


查看完整回答
反对 回复 2019-05-24
  • 4 回答
  • 0 关注
  • 783 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信