过去2个月我一直在学习Angular 2,我对这些服务的使用感到有些困惑。如果我正在开发一个包含多个组件的应用程序,并且每个组件都有一组要从Web服务中显示的数据,如果它们构建在相同的模型上,我是否可以使用单个服务来显示数据,或者我是否应该通过以下方式创建一个服务:成分
提前感谢您就此事启发我
答案 0 :(得分:3)
服务类(提供者)使用@Injectable进行修饰,可以是:
如果你的服务包含状态,那么单身人士可能会产生副作用,当你将它们放入@Component
时这里的文档有误导性。向下滚动到元数据属性:查看“提供者:”
例如,您可以通过返回Observables来获得无状态服务。
即。订阅HTML模板后面的组件Typescript中的被叫服务。
答案 1 :(得分:1)
您可以在许多组件中使用服务,而无需为每个组件创建唯一的服务。
不是一遍又一遍地复制和粘贴相同的代码,而是 创建一个可重用的数据服务并将其注入 需要它的组件。
此外,服务是单例,组件中的所有实例都是相同的(它基于分层注入器)。