Angular 项目中如何使用依赖注入与服务

阅读时长 3 分钟读完

什么是依赖注入

依赖注入(Dependency Injection,DI)是一种编程模式,可使类的依赖项松耦合,并将依赖项传递给类而不是类创建或查找依赖项。

在Angular中,依赖注入是通过提供器(Provider)实现的。提供器是由Injector使用的对象,用于提供服务和其它应用程序对象。每个提供器都有一个令牌(Token),用于唯一标识提供器。当应用程序需要该服务时,它会在Injector中找到已注册的提供器,然后创建或返回该服务实例。

什么是服务

在Angular中,服务是一种可重用的功能,它包含了在整个应用程序中使用的业务逻辑、数据或其它操作。Angular框架中大多数实现方式(如HttpClient、Router等)都是通过提供器提供的服务。

一个服务通常是一个类,该类通过@Injectable()装饰器来将其标记为服务提供器。要在应用中使用它,需要将它添加到NgModule的providers数组中。

-- -------------------- ---- -------
------ - ---------- - ---- ----------------

-------------
------ ----- --------- -
  ------------- - -

  ------------- -
    -- -- ---------
  -
-

如何使用依赖注入和服务

以下示例演示如何在Angular组件中使用依赖注入和服务。

-- -------------------- ---- -------
------ - ---------- ------ - ---- ----------------
------ - --------- - ---- ---------------

------------
  --------- -------------------
  --------- -
    -------- -- -- --------------
    ------- -------------------------- ------------------
    -
--
------ ----- ----------- ---------- ------ -
  ------------------- ---------- ---------- - -

  ---------- - -

  ------------- -
    -----------------------------
  -
-

在这个示例中,MyComponent组件依赖于MyService服务。它通过将MyService对象传递给组件的构造函数来获取对该服务的引用。一旦设置了这个依赖项,组件就可以使用该服务的方法和属性。

总结

依赖注入是一种实现松耦合的编程模式,可将类的依赖项从类中抽离,从而实现更好的复用和测试。在Angular中,服务是一个常见的实现方式,可用于实现业务逻辑、数据等功能。通过提供器和@NgModule装饰器,Angular可将服务添加到应用程序中,并使其可供注入。 使用依赖注入和服务将是Angular应用程序中非常重要的技术之一。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64e0a296f6b2d6eab3bc3554

纠错
反馈