在Angularjs中使用哪一个:工厂、服务和提供商?

在Angularjs中使用哪一个:工厂、服务和提供商?,angularjs,Angularjs,嗨,我是新来的Angularjs。我正在读有关角度服务的书。我读了以下内容 和对我来说,似乎它们只是实现同一目标的不同方式。如果我错了,请纠正我。现在我想知道,因为它们都有相同的目的,哪一个是理想的使用和被视为最佳实践 没有最佳实践,没有人会告诉你一种服务比另一种更好 如果您需要在运行时配置服务,例如配置路由器,请使用提供商 无论何时使用工厂还是何时使用服务,它们都是相同的 工厂有最容易理解的语法使用揭示模块模式,所以这是最常见的选择 另一方面,服务现在更有用,因为它们使用与Angular 2服

嗨,我是新来的Angularjs。我正在读有关角度服务的书。我读了以下内容
和对我来说,似乎它们只是实现同一目标的不同方式。如果我错了,请纠正我。现在我想知道,因为它们都有相同的目的,哪一个是理想的使用和被视为最佳实践

没有最佳实践,没有人会告诉你一种服务比另一种更好

如果您需要在运行时配置服务,例如配置路由器,请使用提供商

无论何时使用工厂还是何时使用服务,它们都是相同的

工厂有最容易理解的语法使用揭示模块模式,所以这是最常见的选择


另一方面,服务现在更有用,因为它们使用与Angular 2服务相同的语法,因此如果您计划将来迁移,现在使用服务将有助于过渡。

没有最佳实践,没有人会告诉您一个服务比另一个服务好

如果您需要在运行时配置服务,例如配置路由器,请使用提供商

无论何时使用工厂还是何时使用服务,它们都是相同的

工厂有最容易理解的语法使用揭示模块模式,所以这是最常见的选择


另一方面,服务现在更有用,因为它们使用与Angular 2服务相同的语法,因此如果您计划将来迁移,现在使用服务将有助于过渡。

听起来问题在于何时使用哪个。首先,需要注意的是,它们都是提供者。每一个都是从提供者开始的另一个的更专业的版本。factory是提供者的专用版本。价值和服务是factory的专用版本

常量和值是彼此的专用版本。因为提供者处于顶端,所以可以像所有其他提供者一样,只使用提供者就可以摆脱困境。但是您将编写大量不必要的代码

如果可以使用的话,每一个专门的提供者都可以让你用更少的代码完成同样的事情。因此,您可以说,最佳实践是使用链中最远的提供者来实现您想要的

这是一张高层次的图片,向您展示了我的意思:

资料来源:

下面是图片来源的博客文章的链接,为您提供了其他示例:


听起来问题是什么时候用哪个。首先,需要注意的是,它们都是提供者。每一个都是从提供者开始的另一个的更专业的版本。factory是提供者的专用版本。价值和服务是factory的专用版本

常量和值是彼此的专用版本。因为提供者处于顶端,所以可以像所有其他提供者一样,只使用提供者就可以摆脱困境。但是您将编写大量不必要的代码

如果可以使用的话,每一个专门的提供者都可以让你用更少的代码完成同样的事情。因此,您可以说,最佳实践是使用链中最远的提供者来实现您想要的

这是一张高层次的图片,向您展示了我的意思:

资料来源:

下面是图片来源的博客文章的链接,为您提供了其他示例:

可能的复制品可能的复制品可能的复制品可能的复制品可能的复制品可能的复制品