首页 > 解决方案 > 为什么我们需要 Angular 服务

问题描述

所以从 React.js 出来后,我开始学习 Angular。在我看来,很多事情都不必要过于复杂,为什么我需要将组件导入文件和角度应用程序。现在我想我明白了主要的想法,Angular 是一个完整的包(或应用程序),它提供了比 React 更多的功能,并且它的所有组件都需要获得奖励。

但我仍然不明白为什么我们需要服务。我了解服务的想法和概念,我可以创建具有所有用户调用的“UserService”并将其注入不同的组件。但是如果我将所有的功能都放到一个普通的js填充中,然后导入到组件中,会不会一样呢?

我将澄清我的问题,在 Angular 应用程序中使用 Angular 服务而不是导出所有功能的常规 js 填充是否有任何优势或需要?

标签: javascriptangularangular-services

解决方案


使用服务可以帮助您隔离控制器执行业务逻辑、通信和存储相关的事情,因为服务旨在用于业务逻辑或与存储使用的服务器通信。

使用这种方法,您将控制器仅用于视图管理、数据绑定、表单验证、用户交互等,并单独关注 Angular 应用程序的可测试性,这就是您可以更轻松地编写单元测试(如 Karma)的原因。

Controller 是一个构造函数,像一个类一样工作,Angular 每次创建视图时都会创建控制器的新实例,并在视图被销毁时销毁控制器。控制器不适合在整个应用程序生命周期中保存应用程序数据。这就是为什么不应该直接在视图中使用服务,而是需要将它们注入到控制器中。服务不应操纵 DOM 对象,无论是 HTML 还是 CSS。


推荐阅读