【发布时间】:2019-09-18 10:46:06
【问题描述】:
所以从 React.js 毕业后,我开始学习 Angular。在我看来,很多事情都不必要过于复杂,为什么我需要将组件导入文件和角度应用程序。 现在我想我明白了主要思想,Angular 是一个完整的包(或应用程序),它提供了比 React 更多的功能,并且它的所有组件都需要获得奖励。
但我仍然不明白我们为什么需要服务。我了解服务的想法和概念,我可以创建具有所有用户调用的“UserService”并将其注入不同的组件。但是如果我把所有的功能都放到一个普通的js填充中,然后导入到组件中,会不会一样呢?
我将澄清我的问题,在 Angular 应用程序中使用 Angular 服务而不是导出所有功能的常规 js 填充是否有任何优势或需要?
【问题讨论】:
-
因为我经历了许多框架,服务用于编写您的业务逻辑或可重用代码。组件不应该直接获取或保存数据,当然也不应该故意提供虚假数据。他们应该专注于呈现数据并将数据访问委托给服务。参考:angular.io/tutorial/toh-pt4#why-services
-
@Vicky Charanpahari 不重复。这家伙建议将所有内容保存在同一个文件中。我理解分离的想法,而不是角度的“服务”想法
-
但是如果我将所有功能都放入一个常规的 js 填充中并导入到组件中,会不会一样? - 不。您可能已经使用 DI 模式或带有 HOC、上下文或 Redux 提供程序的容器来实现与 Angular 服务相同的目的。另见martinfowler.com/articles/injection.html
-
@estus 可能,不确定 webpack 在构建 react 应用程序时是否这样做
标签: javascript angular angular-services