【问题标题】:in operator not working properly with useValue in angularin 运算符无法与 angular 中的 useValue 一起正常工作
【发布时间】:2021-05-20 11:45:23
【问题描述】:

我在依赖注入中使用useValue

{ 提供:I18N_LANGUAGE_KEY, // useValue: config && 'language_keys' in config ? config.language_keys:语言键, // useValue: config && config.i18nLanguageKey, useValue: !('i18nLanguageKey' in config) ? i18nLanguageKey : config.i18nLanguageKey, },

默认值为:

导出 const i18nLanguageKey: I18nLanguageKeys = {
I18N_AVAILABLE_LANGUAGE_KEY: 'i18N-可用语言',
I18N_DEFAULT_LANGUAGE_KEY: 'i18N-default-language',
I18N_TRANSLATE_LANGUAGE_KEY: 'i18N-翻译语言', };

但也想从配置中传递更改的值。 在模块的forRoot方法中:

I18nModule.forRoot({
i18nLanguageKey: {
I18N_AVAILABLE_LANGUAGE_KEY: 'i18N-available-language1',
I18N_DEFAULT_LANGUAGE_KEY: 'i18N-default-language2',
I18N_TRANSLATE_LANGUAGE_KEY: 'i18N-translate-language3',
},
}),

但总体上无法获得新的传递值----> useValue: !('i18nLanguageKey' in config) ? i18nLanguageKey : config.i18nLanguageKey,总是给出 i18nLanguageKey(这是默认值)而不是进入 else 部分。谁能帮忙

【问题讨论】:

    标签: javascript angular dependencies code-injection


    【解决方案1】:

    如果我在 useValue 中使用管道运算符 (OR),这最终会起作用。

    { 提供:I18N_LANGUAGE_KEY, useValue: ( config && config.i18nLanguageKey ) || i18nLanguageKey, }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-28
      • 2021-07-17
      • 2016-09-27
      • 2016-01-31
      • 1970-01-01
      • 2015-11-27
      • 2015-04-25
      • 1970-01-01
      相关资源
      最近更新 更多