我有一个服务/提供者,我们假设它叫ServiceA1
,在一个标记为@Injectable()
的模块A中。在同一个模块我有另一个服务/提供者,我们假设它叫ServiceA2
,标记为@Injectable()
。
我想将ServiceA1
注入ServiceA2
中,我尝试使用:
这段代码抛出一个错误:serviceA1 undefined
.
我的模块. ts
我是否必须制作另一个模块才能在serviceA1
中使用serviceA2
?
我有一个服务/提供者,我们假设它叫ServiceA1
,在一个标记为@Injectable()
的模块A中。在同一个模块我有另一个服务/提供者,我们假设它叫ServiceA2
,标记为@Injectable()
。
我想将ServiceA1
注入ServiceA2
中,我尝试使用:
这段代码抛出一个错误:serviceA1 undefined
.
我的模块. ts
我是否必须制作另一个模块才能在serviceA1
中使用serviceA2
?
2条答案
按热度按时间iq0todco1#
如果直接通过类注入服务,则不需要
@Inject()
:这与以下内容相同:
请注意,您注入了
@Inject('ServiceA1')
而不是@Inject(ServiceA1)
。这是通过字符串令牌而不是类匹配的,因此无法解析。如果你想通过字符串标记注入类,你需要在你的模块中声明提供者,如下所示:
这也适用于同一模块。
e5nqia272#
任何人碰到这个:确保您记得使用
@Injectable
注解注入的服务。