Angular-styleguide: 在哪里放置既没有控制器也没有视图的服务?

创建于 2016-03-22  ·  3评论  ·  资料来源: johnpapa/angular-styleguide

例如:我有一个 StatesService。 它返回一个国家的所有状态,但它没有自己的视图。

  1. 如果它只用在一个视图中,我应该把它放在那个视图的子文件夹中吗?
  2. 如果它在许多视图中使用,我应该把它放在哪里?

在“按功能文件夹” https://github.com/johnpapa/angular-styleguide/tree/master/a1#folders -by-feature-structure,它可以看到一个“服务”文件夹,但看不到下图中.

目前,我正在使用“额外”文件夹来放置没有控制器或视图的服务。

@johnpapa

最有用的评论

服务与一个视图无关,它们与它们帮助为应用程序提供的服务或一组操作相关。 所以你的情况很常见。 您已经完成了一半以上:)

首先,我们决定是否需要服务。 您已经通过确定它处理状态来做到这一点。

然后我们决定如何提取这个逻辑。 你也这样做了!

然后我们决定谁需要它。 它被 1 个控制器使用吗? 1服务? 1 指令? 它们都在 1 个功能/模块中吗? 如果由一个模块使用,我将其放入该模块中。 如果在整个应用程序中使用,请将其放在共享模块中。

祝你好运

所有3条评论

  1. 这是正确的
  2. 你应该把它放在核心服务文件core.service.js

我有一个services目录来存储我所有的常用服务。

就个人而言,我不会将它放在“核心服务”文件中,因为这似乎违反了1 (Y001) 规则

服务与一个视图无关,它们与它们帮助为应用程序提供的服务或一组操作相关。 所以你的情况很常见。 您已经完成了一半以上:)

首先,我们决定是否需要服务。 您已经通过确定它处理状态来做到这一点。

然后我们决定如何提取这个逻辑。 你也这样做了!

然后我们决定谁需要它。 它被 1 个控制器使用吗? 1服务? 1 指令? 它们都在 1 个功能/模块中吗? 如果由一个模块使用,我将其放入该模块中。 如果在整个应用程序中使用,请将其放在共享模块中。

祝你好运

此页面是否有帮助?
0 / 5 - 0 等级