什么是依赖注入
依赖注入(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