每个组件角4提供服务的好坏?

时间:2017-04-07 03:01:56

标签: angular angular2-services angular2-modules

实际上,我有两个关于角度4最佳实践的问题。

  1. 我有一个名为RemoteService的服务,它负责XHR调用。我想在RemoteService中捕获正在使用该服务的组件实例。所以我想,最好是按组件级别提供该服务。因为我不希望服务的每个方法都按参数获取组件实例。但是,为每个组件提供服务是好还是坏?顺便说一句:RemoteService将用于数百个组件。
  2. 我正在尝试跟随角度的style guide。我应该在哪里放置RemoteService?共享功能模块或核心功能模块?它的目的似乎是ExceptionServiceLoggerService。但正如我上面所解释的那样,它不是单身人士服务。这可能取决于问题1的答案。

1 个答案:

答案 0 :(得分:2)

所以回答你的两个问题 - RemoteService肯定是个好主意。我通常称我为ApiService

出于以下几个原因,这是一个好主意 -

  • 一个文件中的所有http调用都允许外部请求使用单个端点。它比组织级别服务中的呼叫更有条理
  • 您可以更好地控制通话。这意味着,如果你需要在组件的调用和实际的http调用(例如 - 身份验证检查)之间放置一些逻辑 - 你不想在你的应用程序周围运行它会改变它 - 而是你有一个本地函数包装http请求,并提供额外的逻辑。

就放在哪里而言 - John Papa的风格指南建议将此文件放在shared文件夹中:https://johnpapa.net/angular-2-styles/