angular - 可选依赖项
问题描述
我正在尝试通过 @Inject() 注入依赖项,并希望它是可选的。@Optional() 标记似乎不适用于这种类型的依赖项。关于可选 @Inject 的文档指出它应该写成 @Inject(TOKEN, null); 然而,这不被认为是有效的语法。有没有其他方法可以允许未定义的注入?
解决方案
您应该可以访问它,您确定您导入了它吗?
import { Injectable, Optional } from '@angular/core';
@Injectable()
export class TestService1 {
constructor(@Optional() public testService2: TestService2) { }
}
将依赖项标记为可选的参数元数据。如果未找到依赖项,则 Injector 提供 null 。
推荐阅读
- javascript - 日期构造函数的不同行为
- google-sheets - 日历,鼠标悬停在当天 >> 显示包含该日期的行中的内容
- javascript - 如何在嵌套的json对象数组中获取子ID的直接父ID?
- java - 如何使用 Aspose Words for Androd 获取内联词的超链接边界?
- deep-learning - 层归一化会延迟训练吗?
- swift - UIStackView 中差异元素的大小(宽度/高度)约束覆盖彼此的约束
- azure - 使用 azure java sdk 对 Azure 进行身份验证
- google-colaboratory - 如何在 google colab 中生成代码单元?
- python - 可以在python的discord api中使用相对路径吗?
- c# - 使用带有 Selenium 的 specflow 只运行一次 BeforeTestRun 和 AfterTestRun