它们在不同的地方声明(声明和提供者)。我知道服务有@injectable()要注入到使用该服务的组件的构造函数中。但为什么一定要这样?为什么我们不能在一个地方申报?一个人能做另一个人不能做的功能是什么?

最佳答案

成分
它基本上是一个带有decorator@component的类,它告诉angular类是一个组件。
它们总是与html模板和一些css相关联。
当HTML的一部分用类似的功能重复时,最好将其放入一个组件中。这个组件可以在需要相同功能的地方调用。
服务
它们是应用程序中一些常见功能的中央单元。
它们是带有函数和成员的简单类。
当存在重复代码时使用,访问/存储数据。
与@component和@directive不同的服务不存在decorator。@可注入仅在组件、指令或其他服务需要使用一个服务时使用。

10-07 19:26
查看更多