当我们有组件时,为什么我们需要服务?

Why do we need services when we have components?

我正在学习Angular并且我正在努力理解服务的应用。 我知道服务是为了可重用性,但这也可以通过组件来实现。此外,我们还可以制作组件 public 并共享。那么我们究竟为什么需要服务?

服务没有与之关联的视图(没有 html 和 css)。更少的开销。此外,服务可以在任何地方重复使用,而无需创建服务的新实例。如果您想在全球范围内(或在许多不同的 components/contexts 之间)共享数据或功能,这将是无价的。对于组件,您可以使用依赖注入与应用程序中的其他组件共享同一个组件实例,但您只能与作为您要共享的组件的后代的组件共享该实例。这非常有限。