Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么在API调用中使用Angular服务更好?_Angular_Http_Service - Fatal编程技术网

为什么在API调用中使用Angular服务更好?

为什么在API调用中使用Angular服务更好?,angular,http,service,Angular,Http,Service,当对后端进行HTTP调用或API调用时,Angular service会做什么?为什么使用它会有好处?如中所述,组件的用途如下: 理想情况下,组件的工作是实现用户体验和 没别的了。一个组件应该为它提供属性和方法 数据绑定,以便在视图(由 模板)和应用程序逻辑(通常包括一些概念) (指模型) 下一段解释了服务的目的: 组件可以将某些任务委托给服务,例如获取 来自服务器的数据,验证用户输入,或直接登录到 控制台。通过在可注入的 服务类,您可以使这些任务对任何组件都可用。你 还可以通过注入不同的提供商

当对后端进行HTTP调用或API调用时,Angular service会做什么?为什么使用它会有好处?

如中所述,组件的用途如下:

理想情况下,组件的工作是实现用户体验和 没别的了。一个组件应该为它提供属性和方法 数据绑定,以便在视图(由 模板)和应用程序逻辑(通常包括一些概念) (指模型)

下一段解释了服务的目的:

组件可以将某些任务委托给服务,例如获取 来自服务器的数据,验证用户输入,或直接登录到 控制台。通过在可注入的 服务类,您可以使这些任务对任何组件都可用。你 还可以通过注入不同的提供商使应用程序更具适应性 相同类型的服务,视情况而定 环境

就软件工程而言,这符合单例模式。在Angular中,定义和创建服务的标准实践是在根级别提供服务,然后创建服务的共享实例,该实例可以注入到需要它的其他类/组件中

在您的服务文件上,您可能会注意到
@Injectable()
装饰器,它可能看起来像这样:

@Injectable()
export class SampleService {

  // other things within your service

}

这将类表示为“服务”,这将告诉Angular将其作为依赖项注入其他组件。您可以阅读更多关于依赖项注入的内容。

当您使用Angular服务进行API调用时,您可以从Angular应用程序中的任何组件调用这些API调用。与什么相反?@Chieftwoils并不反对什么,只是一般来说为什么选择Angular服务来处理API调用和HTTP请求。@Samtuster。想象一下,首先你从一个静态数组中获取数据,然后从一个文件中获取数据,之后对于一个dbs,如果你没有连接到internet的连接,那么从localStore获取数据。。。每次更改只需要更改“服务”获取数据的方式,否则您需要查找所有获得调用的组件并更改组件。它更“模块化”,更容易(甚至对于测试而言)使用服务。