Angular 7中的@angular/core/core没有导出的成员'OpaqueToken'是一个过时的概念。在Angular 5及更早的版本中,'OpaqueToken'被用作依赖注入系统中的令牌(token)。它是一个抽象类,用于标识依赖项的唯一性。
然而,从Angular 6开始,'OpaqueToken'被弃用,并且在Angular 7中已经完全移除。取而代之的是使用'InjectionToken'来实现相同的功能。'InjectionToken'是一个泛型类,用于创建可注入的令牌。
使用'InjectionToken'的优势是可以更好地支持静态类型检查,并且提供更好的可读性和可维护性。它还可以避免在依赖注入系统中出现潜在的命名冲突。
对于Angular 7中@angular/core/core没有导出的成员'OpaqueToken'的替代方案,可以使用'InjectionToken'来定义依赖注入令牌。以下是一个示例:
import { InjectionToken } from '@angular/core';
export const MY_TOKEN = new InjectionToken<string>('myToken');
// 在提供商中使用令牌
{ provide: MY_TOKEN, useValue: 'myValue' }
// 在组件中注入令牌
constructor(@Inject(MY_TOKEN) private myToken: string) { }
在上面的示例中,我们使用'InjectionToken'创建了一个名为'MY_TOKEN'的令牌,并在提供商中使用它来提供一个值。然后,在组件中使用'@Inject'装饰器将该令牌注入到构造函数中。
关于Angular中依赖注入的更多信息,可以参考腾讯云的Angular文档:Angular依赖注入。
请注意,以上答案是基于我对云计算和Angular的了解,如果有任何错误或遗漏,请指正。
领取专属 10元无门槛券
手把手带您无忧上云