angular:使用可重用服务的许多组件

时间:2016-12-06 22:08:01

标签: angularjs service angularjs-1.5 component-based

我正在追踪todd motto's styleguide角度。在他的方法中,以及在约翰爸爸的方法中,他们说每个组件都应该有自己的服务。

我的问题是,当我有一个服务(例如getArticlesByStoreId)我希望从不相互关联的不同组件中使用时会发生什么。从这个样式指南,我会理解我必须将我的服务文件重写为两个组件,但我认为我可以为所有这些共享服务提供“sharedServices /”,所以我最终不会重写代码。

在这种情况下,你们会做什么?

app/  
|--components/  
   |--comp1/  
      |--service.js  
   |--comp2/  
      |--service.js  

app/  
|--components/  
   |--comp1/  
   |--comp2/  
|--services/  
   |--sharedServices/
      |--service.js

2 个答案:

答案 0 :(得分:1)

我在大型项目中使用Angular 1.5和组件架构。我们有以下结构,到目前为止一直很好。

└─ src/app/ ├─ app.js # app entry file ├─ app.html # app template ├─ common/ ├─ common.js # common entry file └─ services/ # common services └─ components/ # where components live ├─ components.js # components entry file └─ home/ # home component ├─ home.js # home entry file (routes, configurations etc) ├─ home.component.js # home component definition ├─ home.controller.js # home controller ├─ home.service.js # home service ├─ home.scss # home styles ├─ home.html # home template └─ home.spec.js # home specs (for entry, component, and controller)

答案 1 :(得分:1)

好的,因为你的问题是我该做什么,我会这样做...按功能构建我的应用程序(John Papas文件夹结构之一)。请记住每个应用可能需要不同的文件夹结我将以下文件夹结构用于中小型应用程序。同样,您的应用程序需求在此非常重要。您的应用程序将增长多少,以及您将使用的文件夹结构将如何管理。

charkKey()

我希望我的文件夹结构尽可能扁平。我相信,我在John Papas的文件夹结构指南中读到了不超过2个嵌套文件夹。以下是他所说的文章:https://johnpapa.net/angular-app-structuring-guidelines/