似乎 Angular 6 (4+?) 要求令牌对象是唯一的才能使 DI 工作。然而,我想使用从模板 html 代码提供的动态令牌,这将允许我的新指令通过 name解析服务。
目前代码:
this.service = this.injector.get(new InjectionToken<IServiceRef>(tokenName));
失败:
Error: StaticInjectorError(AppModule)[InjectionToken the_token_name]:
当我用旧的(角度 4)Injector.get 函数替换我的代码时,它工作正常,因为注入器比较名称(并且我确实通过该名称在视图中提供服务......)。然而,有了新的 DI,我无法实现我想要的。
那么,该如何应对呢?