微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Angular Provider useValue over 直接使用常量

如何解决Angular Provider useValue over 直接使用常量

"export const HERO_DI_CONfig: AppConfig = {
  apiEndpoint: 'api.heroes.com',title: 'Dependency Injection'
};"

示例 1: Provider 之一是 useValue

providers: [{ provide: APP_CONfig,useValue: HERO_DI_CONfig }]

constructor(@Inject(APP_CONfig) config: AppConfig) {
  this.title = config.title;
}

示例 2: 直接从 App.Config 导入 APP_CONfig 常量 并像这样使用:

let varibaleName = HERO_DI_CONfig.apiEndpoint;

使用 useValue 比直接从 App.config 访问 Constant 有什么优势

解决方法

在库(或共享功能模块)的上下文中,最好使用令牌注入器,因为它可能会过载,因此它比常量更灵活。

有许多库使用这种方法来重载常量(angular/fire 等)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。