Injectable装饰器

面试官:小伙子,你的代码为什么这么丝滑?

在 Angular 中,我们经常需要在不同的组件之间共享同一个服务。为了实现这一点,我们可以使用 @Injectable 装饰器来创建可注入的服务。

什么是@Injectable装饰器?

@Injectable 装饰器是 Angular 提供的一个装饰器,用来标记一个类可以作为服务提供者。当我们在一个类上添加 @Injectable 装饰器时,Angular 就会知道这个类可以被注入到其他组件中。

如何使用@Injectable装饰器?

要使用 @Injectable 装饰器,首先需要导入 Injectable 符号:

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

然后在你的服务类上添加 @Injectable 装饰器:

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

接下来,你可以在需要使用这个服务的组件中将服务注入进去:

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

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

这样,你就可以在 MyComponent 组件中使用 MyService 服务了。

@Injectable 装饰器的选项

@Injectable 装饰器还可以接收一个参数,用来配置服务的依赖注入。常见的选项包括:

  • providedIn: 指定该服务应该由哪个模块提供。例如,可以设置为 root 表示该服务应该由根模块提供。
-------------
  ----------- ------
--
------ ----- --------- -
  -- ------
-

总结

通过 @Injectable 装饰器,我们可以轻松地创建可注入的服务,并在不同的组件中共享这些服务。这样,我们可以更好地组织我们的代码,并实现组件之间的通信。


上一篇:FactoryProvider配置依赖对象
下一篇:ValueProvider的使用