我有 2 个服务和 1 个组件:
服务
- AuthService
- 产品服务
组件
- 产品提交组件
ProductService.postProduct
方法向 API 端点发出 POST
请求,该请求需要可通过 AuthService 获取的
方法。需要在 token
参数.get_token()ProductSubmitComponent
中使用 ProductService
来提交新产品。
有两种方法可以做到这一点
1.
ProductService
导入并使用 AuthService
获取 token ,而 ProductSubmitComponent
无需关心将 token
作为显式参数传递.
或者
2.
ProductService.postProduct
方法将 token
作为显式输入参数,在请求服务方法时必须由 ProductSubmitComponent
作为附加参数提供。
这两种方式都应该可行,但我的困境是,我应该采用哪一种?这个问题实际上可以归结为:
是否可以在另一个与服务中使用一个 Angular 服务,而该服务仅严格从指令/组件而不是其他服务使用?
最佳答案
我觉得这要看具体情况。如果您认为还要在其他组件中使用 ProductService.postProduct
方法,那么让 ProductService
导入 AuthService
会更有效>.
据我所知,在一项服务中使用另一项服务并不是一个坏习惯。我很确定您的 AuthService 注入(inject)了 Http 服务,这基本上是同一件事:)
关于angular - 可以使用另一个 Angular 服务吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38323917/